提问者:小点点

Moment.js返回datetime datetime的incorect秒数


我正在使用带有时区的Moment.js库和带有vuejs的BusinessDays扩展来创建保存在mysql数据库中的datetime格式,让我向您展示代码。

    import moment from 'moment-timezone'
    import momentBusiness from 'moment-business-days'
    
    momentBusiness.updateLocale('us', {
        workingWeekdays: [1, 2, 3, 4, 5]
    });
    
    var currentdate=momentBusiness().tz('America/Resolute').format("YYYY-MM-DD HH:MM:SS");
    console.log(currentdate); //returns 2020-07-09 09:07:60
    
    console.log(momentBusiness().tz('America/Resolute').add(4, "hours").format("YYYY-MM-DD HH:MM:SS")); //returns 2020-07-09 13:07:61
    console.log(momentBusiness().tz('America/Resolute').businessAdd(5).format("YYYY-MM-DD HH:MM:SS")); //returns 2020-07-16 09:07:61

格式化工作得很好,就像你从上面看到的那样,秒数超过60的标记导致了Mysql的异常,虽然这是一个非常奇怪的问题,有人知道我做错了什么吗


共1个答案

匿名用户

大写s代表毫秒级,您应该使用较低的s,它将被固定。

在https://momentjs.com/docs/#/display/format/上查看moment库文档