私は、momentjsを使用して、何でも、さらに複雑な日付を実行できることを知っています。しかし、恥ずかしいことに、私は単純なように見えることをしようとするのに苦労しています。2回の違いを取得することです。
例:
var now = "04/09/2013 15:00:00";
var then = "04/09/2013 14:20:30";
//expected result:
"00:39:30"
私が試したこと:
var now = moment("04/09/2013 15:00:00");
var then = moment("04/09/2013 14:20:30");
console.log(moment(moment.duration(now.diff(then))).format("hh:mm:ss"))
//outputs 10:39:30
そこの「10」が何なのかわかりません。私はブラジルに住んでいるので、それが適切であればutc-0300です。
の結果はmoment.duration(now.diff(then))
、正しい内部値を持つ期間です。
days: 0
hours: 0
milliseconds: 0
minutes: 39
months: 0
seconds: 30
years: 0
だから、私は私の質問だと思います:momentjs期間を時間間隔に変換する方法?きっと使える
duration.get("hours") +":"+ duration.get("minutes") +:+ duration.get("seconds")
しかし、私は完全に欠けているよりエレガントなものがあると感じています。
上記の例でnow
は、更新はより近くにあります:
Tue Apr 09 2013 15:00:00 GMT-0300 (E. South America Standard Time)…}
そしてmoment(moment.duration(now.diff(then)))
:
Wed Dec 31 1969 22:39:30 GMT-0200 (E. South America Daylight Time)…}
2番目の値が夏時間(-0200)である理由はわかりませんが、日付が気に入らないと思います:(
アップデート2
まあ、値は-0200です。1969年12月31日が夏時間が使用された日付だったためと考えられます。