【问题标题】:how to do the date conversion in moment.js using javascript?如何使用javascript在moment.js中进行日期转换?
【发布时间】:2020-06-25 15:38:12
【问题描述】:

这是我的日期字符串,我想将其转换为 javascript 日期对象。

输入:-- 2020 年 3 月 4 日,星期三,下午 5:00:00

预期结果:-- 2020-03-13T15:04:16.913Z'

我试过了:

moment('Wednesday, March 4th, 2020, 5:00:00 pm').format('YYYY-MM-DDTHH:mm:ss\\Z')

【问题讨论】:

  • 请出示您尝试过的代码
  • 嗯,您的预期结果与您的输入有点不同,不是吗?下午 5:00:00 => 15;04:16.913Z?我可以看到两个小时是一个时区差异,但是 4:16.913?从未听说过时区的纳秒级偏移量......
  • 这是我的代码:moment('2020 年 3 月 4 日,星期三,下午 5:00:00').format('YYYY-MM-DDTHH:mm:ss\\Z')
  • 这能回答你的问题吗? Converting a string to a date in JavaScript

标签: javascript date momentjs datetime-format


【解决方案1】:

您需要告知 Moment 您提供的字符串的格式。

来自documentation / display

Wednesday = dddd
March = MMMM
4th = Qo
2020 = YYYY
5:00:00 pm = h:mm:ss a

所以你的输入格式是"dddd, MMMM Qo, YYYY, h:mm:ss a"

现在您可以创建一个有效的 Moment 并对其进行操作。

moment('Wednesday, March 4th, 2020, 5:00:00 pm', "dddd, MMMM Qo, YYYY, h:mm:ss a").format(whatever)

【讨论】:

    【解决方案2】:

    首先,您需要告知 moment 预期输入的格式,然后是 format() 将其转换为所需的格式。

    基于他们的文档:https://momentjs.com/docs/#/displaying/

    检查此代码。它将帮助您入门:

    var input = "Wednesday, March 4th, 2020, 5:00:00 pm";
    var date = moment(input, "dddd, MMMM Do, YYYY, h:mm:SSSS a").format(
      "YYYY-MM-DDTHH:mm:ss\\Z"
    );
    console.log(date);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 1970-01-01
      • 2017-12-10
      • 2014-06-11
      • 1970-01-01
      • 2021-11-20
      • 2016-11-10
      相关资源
      最近更新 更多