如何使用Javascript将时间戳转换为特定的日期和时间格式



从api中,我得到一个返回的时间戳,如:1643295022

如何使用Javascript将其转换为2020-08-26T08:46:01+02:00

export const generateDate = (time: number) => {
return new Date(time * 1000);
};

以上返回Fri Jan 28 2022 12:57:00 GMT+0100 (Central European Standard Time)。如何将其转换为类似2022-01-27T14:50:22+02:00的内容?

另外,对于另一个助手,我正在使用已经过时的fns。也许我可以在这种情况下使用它?

我想您要找的是一个ISO格式的日期,但带有时区偏移信息。

您可以使用getTimezoneOffset()获得时区偏移量,然后在删除.之后的秒字符串后,将其附加到从toISOString()获得的日期格式的末尾。

因为getTimezoneOffset()的结果是以分钟为单位的,所以您需要将其转换为具有必要的+-符号的HH:MM

希望以下内容能有所帮助。

const isoWithTimeZone = d => {
let TZ=(d=new Date(d*1000)).getTimezoneOffset(), a=Math.abs(TZ);
return d.toISOString().split(".")[0]+(TZ<0?"+":"-")+("00"+~~(a/60)).slice(-2)+":"+("00"+a%60).slice(-2);
}
console.log(isoWithTimeZone(1643295022));

相关内容

  • 没有找到相关文章

最新更新