我正在尝试将日期从本地转换为午夜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;
答案 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())