在 moment.js 中以 ISO 日期格式将时间部分设置为 0

Sha*_*aja 6 javascript datetime momentjs

我使用 moment.js 获取 ISO 格式的日期:

let matchDate= moment().add(1, 'day').toISOString();
Run Code Online (Sandbox Code Playgroud)

它以以下形式为我提供 matchDate:

2017-08-01T18:30:00.000Z

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

2017-08-01T00:00:00.000Z

我怎样才能做到这一点?

ADr*_*-DJ 7

你有几种可能性。

这里有一些:

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);
Run Code Online (Sandbox Code Playgroud)

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

或者,如果您不想设置时间部分并以格式进行设置,则可以使用以下命令:

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