如何在JavaScript中用小时解析字符串到日期?

时间:2016-04-20 12:37:31

标签: javascript mysql node.js datetime

我有日期字符串

If ws.Name <> "Uptime" Then
   With Worksheets("Uptime").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
     .Value2 = ws.Name
     .Offset(, 1).Formula = "=('" & ws.name & "'!ET40/60)/24"
   End With

我想将其解析为var day = '2016-04-20' ,因为当我将此字符串作为查询发送到数据库时。然后被识别为2016-02-01 23:59:59。 我知道我可以像这样发送它:2016-04-20 00:00:00然而它看起来不专业;)

@EDIT

我认为好主意是:day+' 23:59:59'但是Date.parse(day) + 1会返回1970年1月1日到当天之间的毫秒数。

2 个答案:

答案 0 :(得分:0)

你可以像这样用

这样的mysql日期格式
SELECT DATE_FORMAT(date,'%y:%m:%d %T:%f')

例如,日期为'2016-04-20'  那么

   SELECT DATE_FORMAT('2016-04-20','%y:%m:%d %T:%f')

答案 1 :(得分:0)

此...

var day = '2016-04-20'
var mydate = new Date(day);
mydate.setMinutes(mydate.getMinutes() - 1);
var mydatestring = mydate.toISOString().slice(0, 10) + " " + mydate.toISOString().slice(11,19);

...但是要非常小心,因为客户端计算机上的JS通常可能与服务器时间不同,即使在同一个国家/地区也是如此!所以不要期望时间100%正确

更新 - 第一个版本错过了问题的重点