我正在寻找一种方法来获取当前日期和时间以HTTP日期格式(例如 "Tue, 15 Nov 1994 08:12:31 GMT")的形式,我希望使用JavaScript实现。我已经尝试过以下代码:
new Date().toString()
但是这给我一个不同的格式,如:"Tue Aug 20 2013 00:19:28 GMT+0200"。我需要倒转月份和日期,并在星期几和月份之间加上逗号。我该如何得到这种格式?
我正在寻找一种方法来获取当前日期和时间以HTTP日期格式(例如 "Tue, 15 Nov 1994 08:12:31 GMT")的形式,我希望使用JavaScript实现。我已经尝试过以下代码:
new Date().toString()
你提到的HTTP日期格式实际上是一个RFC-1123时间戳。在Date
对象上调用toUTCString
函数应该会返回一个相容值。
你可以使用这个示例Fiddle进行验证。
toLocaleString
方法配合特定参数和一些调整。 toLocaleString
单独使用可以返回类似的字符串,但带有两个逗号而没有GMT
,例如Sun, 20 Nov 2022, 12:37:06
。因此,我们使用replace
删除第二个逗号并添加缺失的时区。
const dateHeader = new Date().toLocaleString('en-GB', {
timeZone: 'UTC',
hour12: false,
weekday: 'short',
year: 'numeric',
month: 'short',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
}).replace(/(?:(\d),)/, '$1') + ' GMT';
console.log(dateHeader);