【发布时间】:2020-06-07 11:11:14
【问题描述】:
我有两个 ISO 格式的日期字符串。我正在使用矩 js 计算它们之间的分钟差。
var currenttime = new Date().toISOString();
var expiretime = '2020-06-05T12:18:33.000Z';
let minutes = moment(expiretime, 'YYYY-MM-DD[T]HH:mm:ss. SSS[Z]').diff(moment(currenttime, 'YYYY-MM-DD[T]HH:mm:ss. SSS[Z]'), 'minutes');
console.log(minutes)
现在我有两个问题
这是计算分钟差的最佳方法吗?
当我运行
new Date().toISOString()时,z之前的值应该是时区,但每次重新启动它都会改变?
请告诉我是什么问题?
【问题讨论】:
-
如果您真的想要“ISO 时间格式的时差”,请参阅Create an ISO 8601 Duration in Javascript/Angular。
-
回复:“z 之前的值应该是时区,但每次重启时都会改变”,请注意 toISOString 始终是 UTC , Z 前面的位实际上是时间,Z 是时区偏移量,它代表 +00:00 或 UTC。如果您希望偏移量为 ±HHMM,请使用格式和 ZZ:
moment().format('YYYY-MM-DDTHH:mm:ssZZ')表示本地偏移量,或moment().utc().format('YYYY-MM-DDTHH:mm:ssZZ')表示 UTC。
标签: javascript node.js typescript datetime