javascript - 如何将格式为 "YYYY-MM-DD hh:mm:ss"的日期转换为 UNIX 时间戳

标签 javascript date datetime timestamp unix-timestamp

如何将格式为“YYYY-MM-DD hh:mm:ss”(例如 “2011-07-15 13:18:52”)的时间转换为 UNIX 时间戳?

我试过这段 Javascript 代码:

date = new Date("2011-07-15").getTime() / 1000
alert(date)

它有效,但是当我将时间 ('2011-07-15 13:18:52') 添加到输入时,它会导致 NaN

最佳答案

使用长日期构造函数并指定所有日期/时间组件:

var match = '2011-07-15 13:18:52'.match(/^(\d+)-(\d+)-(\d+) (\d+)\:(\d+)\:(\d+)$/)
var date = new Date(match[1], match[2] - 1, match[3], match[4], match[5], match[6])
// ------------------------------------^^^
// month must be between 0 and 11, not 1 and 12
console.log(date);
console.log(date.getTime() / 1000);

关于javascript - 如何将格式为 "YYYY-MM-DD hh:mm:ss"的日期转换为 UNIX 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6704325/

相关文章:

javascript - 为什么水平列表项对齐不适用于动态添加的元素

javascript - 为什么函数长度排除其余参数

javascript - 在谷歌地图上找到最近的引脚

date - ical导出的格式化时间

java - javascript getTime() 和 Java getTime() 之间的区别

Python datetime 到 microtime

javascript - MS Graph 创建在线 session : "onlinemeeting cannot be null."

wpf - 使用 SortDescription 时将字符串日期转换为日期

php - 为多语言站点翻译 PHP date()

sql - 时间点的最近邻