【发布时间】:2016-11-07 07:31:28
【问题描述】:
您好,我目前在我的项目中使用 momentjs 作为我的日期,并且在减去 2 个日期时遇到了一些麻烦。
这是我的示例日期:
2016-10-08 10:29:23
2016-10-08 11:06:55
我尝试使用 diff 并从 momentjs 的指南文档中减去,但我一无所获。
如果减去日期的日期超过 24 小时怎么办?
提前致谢。
【问题讨论】:
标签: momentjs
您好,我目前在我的项目中使用 momentjs 作为我的日期,并且在减去 2 个日期时遇到了一些麻烦。
这是我的示例日期:
2016-10-08 10:29:23
2016-10-08 11:06:55
我尝试使用 diff 并从 momentjs 的指南文档中减去,但我一无所获。
如果减去日期的日期超过 24 小时怎么办?
提前致谢。
【问题讨论】:
标签: momentjs
你是对的,你可以使用moment的diff函数减去两个日期(see my example on Plunker):
var date1 = moment('2016-10-08 10:29:23');
var date2 = moment('2016-10-08 11:06:55');
var diff = date2.diff(date1);
Diff 将等于2252000,即两个日期之间的毫秒数。 See documentation for more details.
您可以将第二个参数传递给diff,其中包含要使用的度量(年、月、周、日、小时、分钟和秒),因此如果您想知道两个日期之间的分钟数可以写:
var diffInMinutes = date2.diff(date1, 'minutes');
你会得到37分钟。
【讨论】:
duration 不支持diff 操作。只是为了理解,“29:54:20”是您在输入中收到的日期?没有日/月/年部分?
var date1 = moment('2016-10-08 10:29:23');和var dateMoreThanADay = moment('2016-10-09 11:06:55');,并且差异是var diff3 = dateMoreThanADay.diff(date1, 'minutes');。 diff3 的值 1477 是两个日期之间的分钟数。该值是正确的。
对于使用react-moment的任何人:
您可以使用 diff 属性从另一个日期中减去给定日期。
您还可以使用 unit 属性以您喜欢的任何格式显示结果。
例如,获取距离现在还剩多少天:
const now = new Date() // get current date
const endDate // get some date in the future
<Moment diff={now} unit="days">{endDate}</Moment> days left
【讨论】: