如何格式化 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)
我有一个 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)