将 MySql 日期时间戳转换为 JavaScript 的日期格式
有谁知道我如何获取 MySQL datetime
数据类型值,例如 YYYY-MM-DD HH:MM:SS
并对其进行解析或转换在 JavaScript 的 Date()
函数中工作,例如:- Date('YYYY, MM, DD, HH, MM, SS);
Does anyone know how I can take a MySQL datetime
data type value, such as YYYY-MM-DD HH:MM:SS
and either parse it or convert it to work in JavaScript's Date()
function, for example:- Date('YYYY, MM, DD, HH, MM, SS);
谢谢!
推荐答案
这里给出的一些答案要么过于复杂,要么就是行不通(至少,不是在所有浏览器中).如果你退后一步,你会看到 MySQL 时间戳的每个时间分量的顺序与 Date()
构造函数所需的参数相同.
Some of the answers given here are either overcomplicated or just will not work (at least, not in all browsers). If you take a step back, you can see that the MySQL timestamp has each component of time in the same order as the arguments required by the Date()
constructor.
所需要的只是对字符串进行非常简单的拆分:
All that's needed is a very simple split on the string:
// Split timestamp into [ Y, M, D, h, m, s ]
var t = "2010-06-09 13:12:01".split(/[- :]/);
// Apply each element to the Date function
var d = new Date(Date.UTC(t[0], t[1]-1, t[2], t[3], t[4], t[5]));
console.log(d);
// -> Wed Jun 09 2010 14:12:01 GMT+0100 (BST)
公平警告:这假设您的 MySQL 服务器正在输出 UTC 日期(这是默认值,如果字符串没有时区组件,则建议使用).
Fair warning: this assumes that your MySQL server is outputting UTC dates (which is the default, and recommended if there is no timezone component of the string).
相关文章