将MySql DateTime邮票转换为JavaScript的日期格式
2022-08-30 02:02:19
有谁知道我如何获取MySQL数据类型值,例如解析它或将其转换为JavaScript函数,例如:- Date('YYYY,MM,DD,HH,MM,SS);datetime
YYYY-MM-DD HH:MM:SS
Date()
谢谢!
有谁知道我如何获取MySQL数据类型值,例如解析它或将其转换为JavaScript函数,例如:- Date('YYYY,MM,DD,HH,MM,SS);datetime
YYYY-MM-DD HH:MM:SS
Date()
谢谢!
这里给出的一些答案要么过于复杂,要么根本行不通(至少不是在所有浏览器中)。如果退后一步,您可以看到MySQL时间戳的每个时间分量与构造函数所需的参数的顺序相同。Date()
所需要的只是在字符串上进行非常简单的拆分:
// 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日期(这是默认值,如果字符串中没有时区组件,则建议使用)。
为了添加优秀的Andy E答案,常见用法的功能可以是:
Date.createFromMysql = function(mysql_string)
{
var t, result = null;
if( typeof mysql_string === 'string' )
{
t = mysql_string.split(/[- :]/);
//when t[3], t[4] and t[5] are missing they defaults to zero
result = new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0);
}
return result;
}
通过这种方式,给定表单中的MySQL日期/时间,甚至是缩写形式(仅日期),您可以执行以下操作:"YYYY-MM-DD HH:MM:SS"
"YYYY-MM-DD"
var d1 = Date.createFromMysql("2011-02-20");
var d2 = Date.createFromMysql("2011-02-20 17:16:00");
alert("d1 year = " + d1.getFullYear());