当地的UTC时间转换为两小时

时间:2015-09-20 20:19:52

标签: javascript datetime time

我正在尝试将日期从本地转换为午夜UTC,以便我可以保存到SQL数据库中,并能够通过匹配日期进行查询。例如,如果今天是2015年9月20日,我可能在任何时区的任何时间,那么我的最终时间戳应该是2015年9月20日,UTC时间0:00,但我最终会在9月20日结束,2015年,上午2:00 UTC,无论我将时钟设置为哪个时区。这应该很简单,但由于某些原因,当我转换为UTC时,我最终关闭了两个小时,所以我删除了7200秒才能到达午夜。这似乎有效,但因为我不知道为什么我要休息两个小时,我担心以后可能会遇到问题。我的代码在下面,只有4行。任何帮助将不胜感激。

var date = new Date();
date.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());
date.setUTCHours(0,0,0,0);
dateUTC = date.getTime()/1000-7200;

2 个答案:

答案 0 :(得分:2)

目前还不清楚究竟什么不起作用,但你应该使用Date.UTC()并且它会起作用:



var date = new Date();
alert(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())/1000)




答案 1 :(得分:1)

要摆脱时区差异,您可以尝试:

date.setMinutes(date.getMinutes() - date.getTimezoneOffset())