使用 Javascript 仅将本地时区更改为默认 UTC

Change only the local TimeZone to Default UTC using Javascript

我需要将本地或当前时区更改为默认 UTC (GMT+0000) 时区。

我使用了预定义的 javascript 函数 toLocaleString,但有些机器有自己的日期时间格式,因此服务请求不匹配。

我的要求只是更改时区而不更改当前值(无转换

let dtime = new Date();
console.log(dtime);

输出:Fri Jul 07 2017 17:07:32 GMT+0530 (India Standard Time)

要求的格式是Fri Jul 07 2017 17:07:32 GMT+0000 (???)

场景:我在DatePickerAngular Material)中选择DOB,它返回datetime offset 值。如果我将这些值从 客户端传递到服务器 ,它会自动将其转换为本地到 UTC 默认值。

例如:我在datepicker中选择DOB作为1990-01-01,它returns 值 1990-01-01 00:00:00 但在 HTTP 调用中它变为 1989-12-31 18:30:00。因为我在 INDIA (UTC +0530),所以它减去 05 小时 30 分钟。这就是我面临的问题。

请帮助我。

你可以试试下面这段代码

date.setMinutes((date.getTimezoneOffset() * -1));

无需本地化,只需在进行任何服务调用之前使用此代码。它会将您在日期选择器中选择的确切日期传递给您。

它适用于所有时区 (+) 和 (-),

例子:1990-01-01 00:00:00 GMT+0530 (India Standard Time),上面说的代码把它隐藏成1990-01-01 05:30:00 GMT+0530 (India Standard Time)。在服务期间,它会将其转换为 1990-01-01 00:00:00.

我想它会解决你的问题。