console.log('DEBUG::+jwtDecode(token).exp', +jwtDecode(token).exp); //1534820211
console.log('DEBUG::try', new Date(+jwtDecode(token).exp).toISOString());
//DEBUG::try 1970-01-18T18:20:20.211Z
I'm having a token with value 1534820211
and when I try to convert it using toISOString()
it gives me year 1970-01-18T18:20:20.211Z
.
But when I decode the same token at jwt.io, and mouse hover over exp
, it shows 2018-08-21....
which is huge difference. I have also tried to pass jwtDecode(token).exp
into moment
and using format, still return me datetime in 1970xxxx
.
moment(jwtDecode(token).exp).format();
The value you have is seconds from epoch.
JavaScript Date
constructor (and moment
constructor as well) accepts value in milliseconds from epoch. Multiply the number by 1000, and your code should work fine:
var exp = 1534820211 * 1000;
console.log(new Date(exp));
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加