我有这个变量var resetPasswordExpires = 1524133033085;
,我想将秒转换为datetime格式来更新数据库sql列。
我这样做了
var d = new Date();
d.toString(resetPasswordExpires);
我采取d = Thu Apr 19 2018 12:21:02 GMT + 0300(GTB Daylight 时间)当然canot将列保存到数据库。 数据库列格式为DATETIME
查询:
UPDATE User SET resetPasswordToken =
c2d313284f6de68cc1f18e3c45b0ea2c720220f0, resetPasswordExpires = Thu Apr 19
2018 12:21:02 GMT+0300 (GTB Daylight Time) WHERE UserID = 21;
答案 0 :(得分:2)
一个选项是DATEADD
你的值到UNIX纪元开始的秒数:
SELECT DATEADD(s, 1524133033085/1000, '19700101 00:00:00:000');
19.04.2018 10:17:13
请注意,我将您的值除以1000,因为它以毫秒为单位。
答案 1 :(得分:1)
我想这已在Convert JS date time to MySQL datetime中得到解答。请验证您的要求。
var resetPasswordExpires = 1524133033085;
var d = new Date(1524133033085).toISOString().slice(0, 19).replace('T', ' ');
答案 2 :(得分:1)
经过测试和解决
将时间戳转换为以下内容
在控制台中试用
var resetPasswordExpires = 1524133033085;
var d = new Date();
d.toString(resetPasswordExpires);
var passDateToISOString = d.toISOString();
passDateToISOString
控制台中的结果
"2018-04-19T09:55:14.824Z"
然后将 passDateToISOString 变量值传递给你的sql
示例(在Sql中尝试)
UPDATE User
SET resetPasswordToken = c2d313284f6de68cc1f18e3c45b0ea2c720220f0,
resetPasswordExpires = '2018-04-19T09:55:14.824Z'
WHERE UserID = 21;