如何在JavaScript中获取未来日期时间对应的Unix时间戳?
在JavaScript中获取指定时间的Unix时间戳
要获取像"2023-03-08 13:05:00"这类指定时间对应的Unix时间戳,JavaScript里可以通过Date对象实现,思路和PHP的解决方案类似,具体操作如下:
基础实现步骤
- 将目标时间字符串转换为
Date对象,为了提升跨环境兼容性,建议把时间字符串转为ISO 8601格式(把空格替换成T)。 - 调用
Date对象的getTime()方法获取毫秒级时间戳,再除以1000并取整,得到标准的秒级Unix时间戳。
示例代码
// 目标时间字符串 const targetTime = "2023-03-08 13:05:00"; // 转换为ISO格式(增强兼容性) const isoTime = targetTime.replace(' ', 'T'); // 创建对应日期对象 const dateObj = new Date(isoTime); // 计算秒级Unix时间戳 const unixTimestamp = Math.floor(dateObj.getTime() / 1000); console.log(unixTimestamp); // 输出该时间对应的Unix时间戳
额外说明
- 现代浏览器和Node.js大多支持直接解析"YYYY-MM-DD HH:mm:ss"格式,但为了兼容更多环境,转换为ISO格式更稳妥。
getTime()返回的是从1970年1月1日00:00:00 UTC到目标时间的毫秒数,除以1000取整后得到的就是和PHPstrtotime一致的秒级时间戳。- 如果需要按UTC时区解析时间,可以在时间字符串末尾加上
Z,或者使用Date.UTC()方法:
// 按UTC解析时间的示例 const utcTime = "2023-03-08T13:05:00Z"; const utcDate = new Date(utcTime); const utcUnixTimestamp = Math.floor(utcDate.getTime() / 1000); console.log(utcUnixTimestamp);
内容的提问来源于stack exchange,提问作者ADSquared
相关产品推荐
相关产品推荐

