如何在时刻js中给出给定日期的毫秒数?

时间:2016-10-13 10:28:10

标签: javascript date datetime momentjs

有没有什么方法可以将以下日期格式化为时间格式为HH:MM:SS的时间格式为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>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

您可以将自定义字符串格式参数传递给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>

答案 1 :(得分:2)

肯定有millisecond方法可以增加毫秒数。请参阅the docs

您还可以看到table here中存在格式化短代码(毫秒)ms

String formatting可能有用