Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 toISOString()正在从值中减去天_Javascript_Angular_Typescript_Toisostring - Fatal编程技术网

Javascript toISOString()正在从值中减去天

Javascript toISOString()正在从值中减去天,javascript,angular,typescript,toisostring,Javascript,Angular,Typescript,Toisostring,我有以下日期格式: 2020年10月20日星期二00:00:00 GMT+0100(中欧标准时间) 当我这样做的时候: myValue.toISOString() 这就是我得到的 2020-10-19T23:00:00.000Z 这是减去一天 如何在不更改日期格式的情况下解决此问题 toISOString()方法返回简化扩展ISO格式(ISO 8601)的字符串,该格式的长度始终为24或27个字符(分别为YYYY-MM-DDTHH:MM:ss.sssZ或±YYYYY-MM-DDTHH:MM:ss

我有以下日期格式: 2020年10月20日星期二00:00:00 GMT+0100(中欧标准时间)

当我这样做的时候:

myValue.toISOString()

这就是我得到的

2020-10-19T23:00:00.000Z

这是减去一天

如何在不更改日期格式的情况下解决此问题

toISOString()方法返回简化扩展ISO格式(ISO 8601)的字符串,该格式的长度始终为24或27个字符(分别为YYYY-MM-DDTHH:MM:ss.sssZ或±YYYYY-MM-DDTHH:MM:ss.sssZ)。时区始终为零UTC偏移,由后缀“Z”表示

由于您当前的时区(中欧标准时间)是GMT+1,因此您选择了第一天时间。这实际上只是UTC当前时间。您所在的地区比UTC早一小时。如果您在一天中的不同时间进行检查,这不会是一天的差异,而是一小时的差异

let date = new Date('Tue Oct 20 2020 00:00:00 GMT+0100');
console.log('date: ' + JSON.stringify(date));
let result = date.toLocaleDateString("fr-CA",{year:"numeric", month:"2-digit", day:"2-digit"});
console.log('result: ' + JSON.stringify(result));
日期:“2020-10-19T23:00:00.000Z”


结果:“2020-10-20”

这不是减去一天。午夜GMT+1是晚上11点GMT.timezones.jpg,问题与此相同:我该怎么办?在向用户对用户时区显示时间时,您应该将时间标准化。ISO时间将是UTC时间。这就是你应该节省的时间。然后根据用户时区显示时间。它正在工作,但我必须以iso格式将日期发送到后端