gpt4 book ai didi

c# - 如何在 javascript 中获取 UTC 偏移量(类似于 C# 中的 TimeZoneInfo.GetUtcOffset)

转载 作者:IT王子 更新时间:2023-10-29 04:37:10 25 4
gpt4 key购买 nike

在 C# 中你可以使用

System.TimeZone.CurrentTimeZone.GetUtcOffset(someDate).Hours

但是如何在 javascript 中获取特定日期(Date 对象)的以小时为单位的 UTC 偏移量?

最佳答案

Vadim 的答案可能会在除以 60 后得到一些小数点;并非所有偏移量都是 60 分钟的完美倍数。下面是我用来格式化 ISO 8601 字符串值的内容:

function pad(value) {
return value < 10 ? '0' + value : value;
}
function createOffset(date) {
var sign = (date.getTimezoneOffset() > 0) ? "-" : "+";
var offset = Math.abs(date.getTimezoneOffset());
var hours = pad(Math.floor(offset / 60));
var minutes = pad(offset % 60);
return sign + hours + ":" + minutes;
}

这会返回类似“+01:30”或“-05:00”的值。如果需要进行计算,您可以从我的示例中提取数值。

请注意,getTimezoneOffset() 返回与 UTC 的分钟数差异,因此该值似乎与 ISO 8601 等格式所需的值相反(取反)。因此我使用 Math.abs()(这也有助于避免出现负分)以及我如何构建三元数。

关于c# - 如何在 javascript 中获取 UTC 偏移量(类似于 C# 中的 TimeZoneInfo.GetUtcOffset),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9149556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com