【问题标题】:How to grab standard date from DateTime object in Javascript如何从 Javascript 中的 DateTime 对象中获取标准日期
【发布时间】:2020-05-12 06:21:40
【问题描述】:

我的日期如下2020-05-13T18:00:00+01:00

我想抓紧时间,但采用标准格式。在这种情况下,它将是06:00:00 pm

我可以就如何实现这一点提供一些指导吗?

我尝试了以下方法。

vm.training.startDate = '2020-05-13T18:00:00+01:00`'

var start = new Date(vm.training.startDate)

var locale = start.toLocaleTimeString();   // Produced 1:00:00 PM  (not the value I'm looking for)
var test = start.getTime();  // produced 1589389200000
var test1 = start.toTimeString(); // produced 13:00:00 GMT-0400 (Eastern Daylight Time)
var test3 = moment(vm.training.startDate, 'MM-DD-YYYY hh:mm A') // moment date object

这个很接近,但还是有点偏离

var test4 =  moment(vm.training.endDate, 'HH:mm').format('hh:mm:ss a')// produced `08:30:00 pm`

任何提示将不胜感激

【问题讨论】:

    标签: javascript momentjs


    【解决方案1】:

    使用momentjs 格式通过指定格式字符串将日期字符串转换为相应的格式。

    文档:https://momentjs.com/docs/#/parsing/string-formats/

    console.log(
      moment("2020-05-13T18:00:00+01:00", "YYYY-MM-YYYY HH:mm").format("hh:mm:ss a")
    );
    <script src="https://momentjs.com/downloads/moment.js"></script>

    【讨论】:

      【解决方案2】:

      调用toLocaleTimeString()方法时可以传递时区选项:

      var options = { timeZone: 'Europe/London'};
      var d = new Date('2020-05-13T18:00:00+01:00');
      var n = d.toLocaleTimeString('en-UK', options);
      
      console.log(n)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-04
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 2018-12-27
        • 2010-10-09
        • 2016-07-24
        • 2011-05-05
        相关资源
        最近更新 更多