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()関数を使用して変換する必要があります.
日単位を必要としない場合は、タイムスタンプの差分値を使用して時間単位を直接除去します(時間分秒):
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つ目は現在のミリ秒を取得したタイムスタンプです.
メソッドのパラメータは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つ目は現在のミリ秒を取得したタイムスタンプです.