【问题标题】:How to append milliseconds to the given date in moment js?如何在时刻js中将毫秒附加到给定日期?
【发布时间】:2017-02-22 10:16:30
【问题描述】:

有没有办法将下面的日期格式为HH:MM:SS 作为时间格式在 js 中转换为HH:MM:SS:MMM

2016-01-10T00:00:00+05:30

可以转换成如下格式吗?

2016-01-10T00:00:00.000+05:30

简单的JS代码:

var pop = moment('2016-01-03');
var pop1 = pop.add(1,'week');
console.log(pop1.format());
<script src="http://momentjs.com/downloads/moment.js"></script>

【问题讨论】:

  • 你看过他们的 API 文档吗?

标签: javascript date datetime momentjs


【解决方案1】:

您可以将自定义字符串格式参数传递给format 方法以自定义格式输出。在你的情况下,你可以这样做:

pop1.format('YYYY-MM-DDTHH:mm:ss.SSSZ');

其中mm 表示分钟 (00..59)、ss 秒 (00..59) 和 SSS 小数秒 (000..999)。

文档说如果你不向format传递任何参数:

从版本 1.5.0 开始,在没有格式的情况下调用 moment#format 将默认为 moment.defaultFormat。开箱即用,moment.defaultFormat 是 ISO8601 格式 YYYY-MM-DDTHH:mm:ssZ

所以如果你想改变format()(不带参数)的工作方式,你可以改变moment.defaultFormat,例如:

moment.defaultFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZ';

这里有一个活生生的例子:

var pop = moment('2016-01-03');
var pop1 = pop.add(1,'week');

// By default format() wil give you results in YYYY-MM-DDTHH:mm:ssZ
console.log(pop1.format()); // 2016-01-10T00:00:00+05:30
// You can pass a custom format string to the format method
console.log(pop1.format('YYYY-MM-DDTHH:mm:ss.SSSZ')); // 2016-01-10T00:00:00.000+05:30

// You can change defaultFormat according your needs
moment.defaultFormat = 'YYYY-MM-DDTHH:mm:ss.SSSZ';
console.log(pop1.format()); // 2016-01-10T00:00:00.000+05:30
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>

【讨论】:

    【解决方案2】:

    肯定有一个millisecond 方法可以增加毫秒。见the docs

    您还可以看到table here 中有一个毫秒格式的短代码 - ms

    String formatting 可能有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-12
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 2019-04-09
      • 1970-01-01
      相关资源
      最近更新 更多