Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的日期显示它的前一天';真的吗_Javascript_Date - Fatal编程技术网

javascript中的日期显示它的前一天';真的吗

javascript中的日期显示它的前一天';真的吗,javascript,date,Javascript,Date,有人知道为什么会这样吗?我(从数据库中)读取了一个日期(2016-10-05),但Javascript创建了类似2016-10-04的对象。 有什么和时区有关的吗?有人能给我指一些能让我帮助解决这个问题的资料吗?(我有搜索,但老实说,不知道问题出在哪里,很难找到更多信息) 您指定的时间是格林尼治标准时间午夜或0小时。EDT时区比GMT晚4小时,因此当您将时间转换为EDT时区(您的本地时区)时,它比前一天晚-4小时。我在MDN日期页面中找到一些信息,使用d.toutString()方法可以转到GM

有人知道为什么会这样吗?我(从数据库中)读取了一个日期(2016-10-05),但Javascript创建了类似2016-10-04的对象。 有什么和时区有关的吗?有人能给我指一些能让我帮助解决这个问题的资料吗?(我有搜索,但老实说,不知道问题出在哪里,很难找到更多信息)


您指定的时间是格林尼治标准时间午夜或0小时。EDT时区比GMT晚4小时,因此当您将时间转换为EDT时区(您的本地时区)时,它比前一天晚-4小时。

我在MDN日期页面中找到一些信息,使用
d.toutString()
方法可以转到GMT

var d = new Date('2016-10-05T00:00:00.000+0000');
d.toUTCString();
return“2016年10月5日星期三00:00:00 GMT”


希望这能对您有所帮助

原因是,ISO 8601决定将ISO 8601格式的仅日期字符串解析为UTC,而ISO 8601要求将其解析为本地字符串。