首页 > 解决方案 > 不正确的日期格式 moment.js

问题描述

我的 util 函数(第一个参数)中有一个带有以下日期的输入 - '2013-12-15'。我使用格式“MM/DD/YYYY”作为格式 moment.js 方法的第二个参数。实际结果:12/14/2013 而不是 12/15/2013(输入日期等于 '2013-12-15')。问题是 - 为什么在格式化后减去一天?

export const formatDateTime = (date, format = MM/DD/YYYY) => {
    let useFormat = format

    return moment
        .utc(date)
        .tz('America/New_York')
        .format(useFormat)
} // return '12/14/2013'

标签: javascriptmomentjs

解决方案


您正在提供一个时区。Moment 将创建一个 Date 对象,日期将类似于2013-12-15T00:00:00Z,然后 moment 将应用时区,因此日期将变为2013-12-14T18:00:00Z。这不是 100% 正确的


推荐阅读