5

Python timedelta と同様の計算に moment.js を使用しようとしています。

私が問題を抱えているのはこれです:

var d = moment(0);
d
Moment {_i: 0, _f: undefined, _l: undefined, _isUTC: false, _d: Thu Jan 01 1970 02:00:00 GMT+0200 (EET)…}
_d: Thu Jan 01 1970 02:00:00 GMT+0200 (EET)
_f: undefined
_i: 0
_isUTC: false
_l: undefined
__proto__: Object
d.hours();
2
d.days();
4

UNIXタイムスタンプ0に等しい瞬間タイムスタンプを取得するにはどうすればよいですか?なぜならmoment(0)は、日、時間、秒などがすべて0であり、moment.js形式「X」でUNIXタイムスタンプ0に変換される瞬間を与えないようです(リンク)

コメントへの対応: 通常、タイムピッカーは特定の日付/日の時間をピッキングするために機能します。また、timepicker 14:35 の値は通常、14 時間 35 分と解釈されます。同じピッカーを使用して、ユーザーに TIME ではなく PERIOD (または timedelta) を選択させることができます。これは、何かの間に 14 時間 35 分あること、または何かにその時間がかかることを意味します...など...

そして、その機能をシミュレートするために moment.js を使用できます。なぜなら:

moment(0).utc().hours == 0
moment(0).utc().minutes == 0
moment(0).utc().seconds == 0

時間ではなく PERIOD を選択するために、時間、分、秒を追加する (またはユーザーに追加させる) ことができます。またはタイムデルタ。残念ながら、期間が 24 時間より長い場合、これは失敗します。moment(0).utc().days() は 0 ではなく 4 に等しいためです。

なぜこの WHY が関連するのかわかりません。すべての理由で moment(0).utc().days() は 4 ではなく 0 であると考えることができます...

4

1 に答える 1

3

その瞬間にあなたが検出されたタイムゾーンに問題があると思います.もしそうなら

moment(0).toISOString() 

すべての日などに0が表示されるはずです。次のようにして、タイムゾーンをUTCに設定できます

var a = moment(0);
a.utc();
a.toString()

a.toString が正しいタイムゾーンとして表示されるようになりました。

また、moment(0).utc().days()「水曜日」(または現在の曜日)です。

于 2013-11-11T15:15:20.543 に答える