如何格式化 Javascript 日期,例如 1950-12-30T18:25:43.511Z

How do I format a Javascript date like 1950-12-30T18:25:43.511Z

我有一个 API,我需要像这样格式化日期

1950-12-30T18:25:43.511Z

我对这种格式有点陌生,我想知道如何采用这样的格式

1950-12-30 

然后把它变成像前者那样的东西。仅供参考,我正在使用 javascript(快递)

您正在尝试将日期转换为 ISO 格式,本机 Date 对象将使用 .toISOString() 方法为您完成此操作,相当简单:

var newDate = new Date("0977-03-28");
console.log(newDate.toISOString());

结果是:0977-03-28T00:00:00.000Z(看起来很眼熟?:D)

您将遇到的一个问题(如果它是一个问题)是,因为您只有日期值,而不是时间值,所以字符串的最后部分将始终是 T00:00:00.000Z (这是 Date 的 "time" 部分)。你会看到,如果你使用今天的日期,使用 var newDate = new Date();(捕捉这一瞬间),时间将被填写:2015-02-19T16:50:18.078Z(在测试时)

有关详细信息,请参阅此处:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString

注意: 在 IE 中,这仅适用于 v9 或更高版本,不过,link 也有针对旧 IE 版本的 polyfill)