Javascript .getTime()如何保留原始日期dd/MM/yyyy?

Javascript .getTime()如何保留原始日期dd/MM/yyyy?,javascript,mysql,angularjs,date,datetime,Javascript,Mysql,Angularjs,Date,Datetime,我有麻烦了。我有一个angular Javascript应用程序,它在mysql中以毫秒为单位存储日期,但在某些时刻,日期会被解释为多一天或少一天。例如: 如果用户在日期选择器中选择:2017年2月3日,则应用程序将该日期(以毫秒为单位)保存为2017年2月2日或2017年2月4日。我相信这是由于时区的原因。这是我用来以毫秒为单位转换日期的方法: var temp = $("#datetimeField").val().split("/"); var newDat

我有麻烦了。我有一个angular Javascript应用程序,它在mysql中以毫秒为单位存储日期,但在某些时刻,日期会被解释为多一天或少一天。例如:

如果用户在日期选择器中选择:2017年2月3日,则应用程序将该日期(以毫秒为单位)保存为2017年2月2日或2017年2月4日。我相信这是由于时区的原因。这是我用来以毫秒为单位转换日期的方法:

var temp = $("#datetimeField").val().split("/");                
var newDatetime = new Date(temp[2], temp[1] - 1, temp[0]).getTime();

如您所见,我知道将其存储在数据库中的日期、月份和年份。通常情况下,日期是存储的,并且运行良好,但在某个时刻,日期会发生变化,正如我上面所示。如何始终从存储的毫秒中获取
temp[2]/temp[1]-1/temp[0]?

JavaScript日期对象是在浏览器/用户时区中创建的。您可以使用JavasSript
Date
对象的
toutString()
方法将日期转换为UTC(大概是),然后再发送到服务器。这样,发送到服务器的所有日期都将是UTC,您不必担心客户端时区。@Ejaz我会试试的!,谢谢毫秒是UTC。使用ToutString只是完全相同日期和时间的不同表示形式。如果您想要符合ISO 8601的字符串,请使用toISOString,而不是toutString。