'How convert timestamp to specific date and time format with Javascript
From api I get a timestamp returned like: 1643295022
How do I convert it to 2020-08-26T08:46:01+02:00 with Javascript?
export const generateDate = (time: number) => {
return new Date(time * 1000);
};
The above returns Fri Jan 28 2022 12:57:00 GMT+0100 (Central European Standard Time). How do I convert it into something like 2022-01-27T14:50:22+02:00?
Also for another helper I am using already date-fns. Maybe I can use it in this case?
Solution 1:[1]
I think what you are looking for is an ISO formatted Date but with the Time Zone Offset information.
You can obtain the time zone offset with the getTimezoneOffset() then append it to the end of the date format obtained from the toISOString() after removing the seconds string after the ..
Because the result of the getTimezoneOffset() is in minutes you need to convert it into HH:MM with the necessary + and - signs.
Hope the following is of help.
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));
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Mohsen Alyafei |
