如何使用moment将字符串格式的日期转换为unix时间戳
Moment.js 自定义格式日期转Unix时间戳方案
你的moment(accessDate).unix()调用失效的核心原因是20.11.2018 17:28属于日.月.年 时:分的非通用日期格式,Moment.js默认的自动解析规则无法识别该格式,会生成无效日期对象,最终返回异常结果。
正确实现代码
- 基础用法(适配本地时区)
显式传入你当前日期字符串对应的格式模板DD.MM.YYYY HH:mm即可完成解析:
const accessDate = '20.11.2018 17:28' // 第二个参数指定输入字符串的格式规则 const unixTimestamp = moment(accessDate, 'DD.MM.YYYY HH:mm').unix()
- 无偏移UTC解析用法
如果需要避免本地时区差异导致的时间戳偏移,使用UTC模式解析:
const unixTimestampUTC = moment.utc(accessDate, 'DD.MM.YYYY HH:mm').unix()
- 异常校验用法
可通过isValid()方法校验解析结果是否合法,避免后续业务逻辑出错:
const parsedDate = moment(accessDate, 'DD.MM.YYYY HH:mm') if (parsedDate.isValid()) { const timestamp = parsedDate.unix() // 执行正常业务逻辑 } else { // 执行日期格式异常的兜底逻辑 }
内容的提问来源于stack exchange,提问作者Jessika
相关产品推荐
相关产品推荐

