Odi*_*aeb 5 javascript momentjs
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
我如何得到时刻时间戳等于unix时间戳0,因为时刻(0)似乎没有给我时刻,天,小时,秒和什么都是0,哪些转换为unix时间戳0与moment.js格式'X' (链接)
回应评论:通常时间选择器用于选择特定日期/日的时间.时间戳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
Run Code Online (Sandbox Code Playgroud)
您可以添加(或让用户添加)小时,分钟,秒来选择不是时间而是PERIOD.或者timedelta.当时间超过24小时时,Unfortunatley会失败.因为时刻(0).utc().days()等于4而不是0.
不知道为什么这个WHY是相关的,当我出于各种原因我能想到的时刻(0).utc().days()应该是0而不是4 ...
我认为您遇到了当时检测到您所处的时区的问题。如果您这样做
moment(0).toISOString()
Run Code Online (Sandbox Code Playgroud)
您应该看到全天都是 0 等。您可以通过执行以下操作将时区设置为 UTC
var a = moment(0);
a.utc();
a.toString()
Run Code Online (Sandbox Code Playgroud)
a.toString 现在应该显示为正确的时区。
另外,moment(0).utc().days()
是“星期三”(或当前的任何一天)。
归档时间: |
|
查看次数: |
3472 次 |
最近记录: |