jsフロントエンドは2つの日付の間隔時間(時間差)を計算する

1484 ワード

まずタイムスタンプの概念を説明します.タイムスタンプとは、グリニッジ時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)から現在までの総秒数のこと.したがって、2つの時間の間隔を必要とし、2つのタイムスタンプを減算するだけで2つの時間差のミリ秒数を得ることができ、3600*1000で除算することによって時間数を得ることができる.
メソッドのパラメータは2つの時間文字列で、xx日xx時間xx分を返します.
ここでは2つの日付を取得したタイムスタンプを用いて計算する
たとえばfaultDate、completeTimeは文字列形式で、計算を行う前にnew Date()関数を使用して変換する必要があります.
//      xx xx  xx  
function(faultDate, completeTime) {
      var stime = Date.parse(new Date(faultDat));
      var etime = Date.parse(new Date(completeTime));
      //            
      var usedTime = etime - stime;
      //          
      var days = Math.floor(usedTime / (24 * 3600 * 1000));
      //            
      var leave1 = usedTime % (24 * 3600 * 1000);  
      //         
      var hours = Math.floor(leave1 / (3600 * 1000));
      //             
      var leave2 = leave1 % (3600 * 1000);        
      //        
      var minutes = Math.floor(leave2 / (60 * 1000));
      var time = days + " " + hours + " " + minutes + " ";
      return time;
 }

日単位を必要としない場合は、タイムスタンプの差分値を使用して時間単位を直接除去します(時間分秒):
  :3600*1000
  :60*1000
 :1000

JavaScriptは現在のタイムスタンプを取得します.
1つ目の方法:
var timestamp = Date.parse(new Date());
結果:12807777330000の2つ目の方法:
var timestamp = (new Date()).valueOf();
結果:12807777330748
3つ目の方法:
var timestamp=new Date().getTime(); 結果:12807777330748
1つ目:取得したタイムスタンプはミリ秒を000表示に変更し、2つ目と3つ目は現在のミリ秒を取得したタイムスタンプです.