在moment.js

时间:2017-08-01 07:46:13

标签: javascript datetime momentjs

我使用:

使用moment.js获取ISO格式的日期
let matchDate= moment().add(1, 'day').toISOString();

它以下列形式给我matchDate:

  

2017-08-01T18:30:00.000Z

我想将T之后的每个数值设置为0并将结果设为

  

2017-08-01T00:00:00.000Z

我该怎么做?

2 个答案:

答案 0 :(得分:3)

你有几种可能性。

以下是一些:

let matchDate = moment();
matchDate.set('hour', 0);
matchDate.set('minute', 0);
matchDate.set('second', 0);
matchDate.set('millisecond', 0);

matchDate.set({'hour': 0, 'minute': 0, 'second': 0, 'millisecond': 0});

matchDate.hour(0);
matchDate.minute(0);
matchDate.second(0);
matchDate.millisecond(0);

以下是有关获取和设置的文档:https://momentjs.com/docs/#/get-set/set/

或者,如果您不想设置时间部分并在格式化中进行,您可以使用:

let matchDate = moment();
var dateString = matchDate.format('YYYY-MM-DD') + 'T00:00:00.000Z';

答案 1 :(得分:0)

您可以直接使用 startOf(unitOfTime) 函数。

您的代码如下所示:

let matchDate = moment().add(1, 'day').startOf('day').toISOString();

参考答案:https://stackoverflow.com/a/28592432/4539906