此格式表示 T00:00:00.000Z 是什么意思?

2022-08-30 04:26:22

有人可以,请,用javascript解释这种类型的格式吗?

 T00:00:00.000Z

如何解析它?


答案 1

它是 ISO-8601 日期表示的一部分。这是不完整的,因为此模式中的完整日期表示形式还应包含日期:

2015-03-04T00:00:00.000Z //Complete ISO-8601 date

如果您尝试按原样解析此日期,您将收到错误:Invalid Date

new Date('T00:00:00.000Z'); // Invalid Date

所以,我想以这种格式解析时间戳的方法是与任何日期连接

new Date('2015-03-04T00:00:00.000Z'); // Valid Date

然后,您可以仅提取所需的部分(时间戳部分)

var d = new Date('2015-03-04T00:00:00.000Z');
console.log(d.getUTCHours()); // Hours
console.log(d.getUTCMinutes());
console.log(d.getUTCSeconds());

答案 2

我建议你用这个。在片刻.js您可以:moment.js

var localTime = moment().format('YYYY-MM-DD'); // store localTime
var proposedDate = localTime + "T00:00:00.000Z";

现在您已经拥有了一段时间的正确格式,如果它有效,请解析它:

var isValidDate = moment(proposedDate).isValid();
// returns true if valid and false if it is not.

要获得时间部分,您可以执行如下操作:

var momentDate = moment(proposedDate)
var hour = momentDate.hours();
var minutes = momentDate.minutes();
var seconds = momentDate.seconds();

// or you can use `.format`:
console.log(momentDate.format("YYYY-MM-DD hh:mm:ss A Z"));

有关 momentjs 的更多信息 http://momentjs.com/