javascript - 如何使用 javascript 从日期转换为 unix_timestamp

标签 javascript mysql date timestamp unix-timestamp

我有一个时间字符串,格式如下 YYYY-MM-DD hh:mm:ss

我想将其转换为相当于使用 Javascript 将日期字符串传递给 mysql unix_timestamp 函数。

我尝试解析日期并将其传递给 Date.UTC() 函数,但它似乎给出了与我想要的不同的时间。帮助。

最佳答案

如果您提供的是 UTC 时间戳并且想要自 1/1/1970 以来的秒数,则:

[...]

编辑

重温了我原来的回答,不喜欢,下面的比较好:

// Given an ISO8601 UTC timestamp, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpoch(s) {
  s = s.split(/[-A-Z :\.]/i);
  var d = new Date(Date.UTC(s[0], --s[1], s[2], s[3], s[4], s[5]));
  return Math.round(d.getTime()/1000);
}

请注意,OP 中的字符串不符合 ISO8601 标准,但上面的字符串可以使用它。如果时间戳在本地时区,则:

// Given an ISO8601 timestamp in the local timezone, or one formatted per the OP,
// return the time in seconds since 1970-01-01T00:00:00Z
function toSecondsSinceEpochLocal(s) {
  s = s.split(/[-A-Z :\.]/i);
  var d = new Date(s[0],--s[1],s[2],s[3],s[4],s[5]);
  return Math.round(d.getTime()/1000);
}

如果要容纳小数秒,则需要多做一些工作才能将小数部分转换为毫秒。

关于javascript - 如何使用 javascript 从日期转换为 unix_timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9780712/

相关文章:

javascript - 获取提交类型以发布其值

javascript - 查找包含不包含特定值的数组的文档

c# - ActiveX 事件在 javascript 中不起作用

MySQL - 按 2 列分组 1

PHP 不检查用户是否存在并直接发送到个人资料页面

javascript - 使用 jQuery 显示/隐藏表列

php - 执行 OPENQUERY 以从 MySql Server 中提取数据并使用 PDO 将其从 php 脚本内部连接到 SQL 表?

c - 如何在 Linux 中获取本地(区域)日期格式?

java - 用 java.util.Date 类表示 1921 年 5 月 1 日午夜的问题

Java XStream - 序列化日期对象导致时间不正确一小时