使用 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 (???)
场景:我在DatePicker
(Angular 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
.
我想它会解决你的问题。
我需要将本地或当前时区更改为默认 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 (???)
场景:我在DatePicker
(Angular 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
.
我想它会解决你的问题。