使用JavaScript将MM/DD/YYYY HH:MM AM/PM格式日期转为Epoch时间戳
将MM/DD/YYYY HH:MM AM/PM格式日期转换为Epoch时间戳
以下是几种实用的实现方式,覆盖不同开发场景:
Python 实现
利用标准库datetime解析日期字符串,再转换为秒级Epoch时间戳:
from datetime import datetime date_str = "07/27/2022 10:36 AM" # %I对应12小时制小时,%p匹配AM/PM标识 dt_obj = datetime.strptime(date_str, "%m/%d/%Y %I:%M %p") epoch_timestamp = int(dt_obj.timestamp()) print(epoch_timestamp) # 输出:1658898360
如果需要基于UTC时区转换,可添加时区参数:
from datetime import datetime, timezone dt_obj = datetime.strptime(date_str, "%m/%d/%Y %I:%M %p").replace(tzinfo=timezone.utc) epoch_timestamp = int(dt_obj.timestamp())
JavaScript 实现
浏览器或Node.js环境中直接通过Date对象处理:
const dateStr = "07/27/2022 10:36 AM"; // 转换为毫秒级时间戳后除以1000取整,得到秒级时间戳 const epochTimestamp = Math.floor(new Date(dateStr).getTime() / 1000); console.log(epochTimestamp); // 输出:1658898360
若需兼容严格场景,可手动解析日期组件后构建Date对象,避免格式识别差异。
Linux 命令行实现
使用date命令直接解析并输出时间戳:
# -d 指定待解析日期字符串,+%s 输出秒级Epoch时间戳 date -d "07/27/2022 10:36 AM" +%s
部分发行版需显式指定格式匹配:
date -d "$(date -d "07/27/2022 10:36 AM" +"%D %r")" +%s
注意事项
- 确保输入日期字符串格式严格匹配
MM/DD/YYYY HH:MM AM/PM,否则解析会失败; - 时间戳默认基于系统本地时区,若需统一时区需额外指定参数。
内容的提问来源于stack exchange,提问作者Pravin
相关产品推荐
相关产品推荐

