如何在javascript中获取UTC偏移量(在C#中类似于TimeZoneInfo.GetUtcOffset)
在C#中你可以使用
System.TimeZone.CurrentTimeZone.GetUtcOffset(someDate).Hours
但是如何在javascript中获得特定日期(Date对象)的UTC小时偏移?
瓦迪姆的答案可能会在分裂后得到一些小数点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()
(这也有助于不得到负面的分钟)以及我如何构建三元组。
我强烈建议使用moment.js库来获取与时间和日期相关的Javascript代码。
在这种情况下,您可以通过运行以下方式获得ISO 8601格式的UTC偏移:
上述就是C#学习教程:如何在javascript中获取UTC偏移量(在C#中类似于TimeZoneInfo.GetUtcOffset)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
> moment().format("Z") > "-08:00"
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1034446.html