首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JavaScript中使用包含字母的unix时间戳时,日期无效

问在JavaScript中使用包含字母的unix时间戳时,日期无效
EN

Stack Overflow用户
提问于 2020-11-20 21:35:59
回答 2查看 111关注 0票数 0

这是我的时间戳:5fb6995

当我这样做时,new Date('5fb6995')返回无效的日期。但当我尝试在一个在线转换器中将其转换为在线时,一切都正常。为什么这个不起作用,我怎样才能使它起作用?

EN

回答 2

Stack Overflow用户

发布于 2020-11-20 21:42:58

您可以使用parseInt和基数16将十六进制时间戳转换为十进制。

但是,您的时间戳是以小时为单位的

​

代码语言:javascript
复制
const ts = parseInt("5fb6995",16); 
console.log(new Date(ts)); // 1970
console.log(new Date(ts*1000)); // still 1973 (Unix TSs are normally in seconds since Epoch - 1970/01/01)

// perhaps you want hh-mm-ss from that UNIX timestamp:

console.log(
  new Date(ts * 1000).toISOString().slice(11,-5)
)

​

票数 2
EN

Stack Overflow用户

发布于 2020-11-20 21:39:03

您的字符串5fb6995是十六进制基数,您需要先将其转换为十进制:

代码语言:javascript
复制
new Date(parseInt("5fb6995", 16));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64930422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档