我正在尝试使用 moment.js 进行与 python timedelta 类似的计算。
我遇到的问题是:
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 格式的 unix 时间戳 0 'X' (链接)
回应评论:通常时间选择器为特定日期/天的选择时间工作。而timepicker 14:35 的值通常被解释为14小时35分钟。您可以使用相同的选择器让用户选择 PERIOD(或 timedelta)而不是 TIME。这意味着某事之间有 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() 等于 4 而不是 0。
不知道为什么这个 WHY 是相关的,当出于所有原因我能想到 moment(0).utc().days() 应该是 0 而不是 4...