UTC日期之间的Moment.js差异
Moment.js diff between UTC dates
我使用moments.js处理javascript中的日期。所有日期都是UTC(或应该是)。
我有以下日期(距离当前时间60分钟):
//Wed, 04 Apr 2012 21:09:16 GMT
to = moment.utc().add('m', 60).toDate();
现在我想得到这个日期和当前UTC日期时间之间的秒差,所以我做了:
seconds = moment.utc().diff(to, 'seconds');
这将返回10800
而不是3600
,因此将返回3小时而不是1小时。
你知道我做错了什么吗?
谢谢!
编辑:
我将行更新为seconds = moment().diff(to, 'seconds');
,它得到当前秒数,但它是-3600
,而不是正。
编辑:
我现在有两个矩对象:
{ _d: Thu, 05 Apr 2012 17:33:18 GMT, _isUTC: true }
{ _d: Thu, 05 Apr 2012 16:38:45 GMT, _isUTC: true }
d1和d2。
当我执行d1.diff(d2, 'hours', true);
时,返回4
。我认为这肯定与UTC有关,但似乎应该起作用。
这是一个合法的错误。我刚把它归档在这里:https://github.com/timrwood/moment/issues/261
要绕过它,请使用以下内容。
var a = moment.utc().add('m', 60).toDate(),
b = moment().diff(to, 'seconds'); // use moment() instead of moment.utc()
此外,如果您需要获得日期的toString
,您可以使用moment().toString()
作为包装的Date().toString()
的代理
由于您使用的是toDate()
,可能会出现时区。试着直接使用力矩(即将其更改为to = moment.utc().add('m', 60);
)。
相关文章:
- moment.js在两个时区格式的日期之间存在差异
- Bacon.js:流和属性之间的实际差异
- Moment JS:忽略年份的天数差异
- JS get元素之间的差异's属性与elem.getAttribute(attr)和elem[attr]
- HTML中两种JS实现之间的差异
- AJAX与JS.将JS var值存储到php变量时的差异
- 在Chrome和Safari中启动Angular JS应用程序的差异
- 是 Angular JS 的本地安装或引用 URL 之间的差异
- PHP/JS 文本差异
- Moment.js格式差异
- Node.js:集群中具有差异代码的Worker
- ISO 8601日期JS解释差异-IE/FF与Chrome
- 用户输入时刻js的两个日期之间的差异
- 如何获得两个JS对象的差异
- node.js 中对象上的方法和属性之间的差异
- 与Node.js服务器和PHP服务器之间的差异之间的理论混淆
- UTC日期之间的Moment.js差异
- 输入时间之间的JS差异
- 如何在连续的视频流帧上使用Seriously.js差异混合效果
- 输入页面和刷新页面之间的JS差异