【问题标题】:Need to find the difference between two date in seconds [duplicate]需要以秒为单位找到两个日期之间的差异[重复]
【发布时间】:2021-10-02 22:31:39
【问题描述】:

我需要以秒为单位找出两个日期之间的差异,我从前端传递一个日期,另一个日期是当前日期,但我收到错误

这是我的前端代码

 var a =moment().format('MM/DD/YYYY HH:mm:ss')

这是我需要比较的nodeJs代码

var sesdate=moment(request.body.a).format("DD/MM/YYYY HH:mm:ss")
    var startDate = moment(sesdate, "DD/MM/YYYY HH:mm:ss");
    var currenDate = moment(new Date()).format("DD/MM/YYYY HH:mm:ss");
    var endDate = moment(currenDate, "DD/MM/YYYY HH:mm:ss");
    var result = 'Diff: ' + endDate.diff(startDate, 'seconds');

但我得到了预期的输出,但收到警告消息

弃用警告:提供的值不是可识别的 RFC2822 或 ISO 格式。 moment 构造回退到 js Date(),这在所有浏览器和版本中并不可靠。不鼓励使用非 RFC2822/ISO 日期格式。更多信息请参考http://momentjs.com/guides/#/warnings/js-date/

【问题讨论】:

  • 为什么要在字符串和矩对象之间来回切换?

标签: javascript node.js momentjs


【解决方案1】:

如果您已经有两个 JavaScript DateTime 对象,您可以使用 .getTime() 方法获取自 1970 年以来的毫秒数。将一个相减并除以 1000 以转换为秒。如果不能保证其中一个总是在另一个之后,您可能需要取绝对值。

或者,如果您想坚持您的时刻代码,您需要将您的时间格式转换为与 RFC2822 / ISO 兼容的格式。此问题的最佳答案将向您展示如何做到这一点:

【讨论】:

    猜你喜欢
    • 2012-09-13
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多