如何将数字时区偏移转为GMT格式 或用JavaScript获取GMT时区?
数字转GMT时区格式实现
你可以通过如下函数处理偏移量小时数,输出你需要的±HH:MM格式:
function formatOffset(offsetHours) { const prefix = offsetHours >= 0 ? '+' : '-' const absVal = Math.abs(offsetHours) const hours = String(Math.floor(absVal)).padStart(2, '0') // 兼容半小时、45分钟等非整小时偏移场景 const minutes = String(Math.round((absVal % 1) * 60)).padStart(2, '0') return `${prefix}${hours}:${minutes}` } // 测试输入-2 console.log(formatOffset(-2)) // 输出 -02:00
JavaScript获取GMT格式时区
Date.getTimezoneOffset()返回的是本地时间与UTC时间的差值,单位为分钟,正数表示本地时区比UTC晚,负数表示比UTC早,直接调用上面的格式化函数即可得到GMT格式的时区:
// 获取当前时区偏移小时数 const currentOffset = new Date().getTimezoneOffset() / 60 // 格式化输出,如需GMT前缀直接拼接即可,比如 `GMT${formatOffset(currentOffset)}` console.log(formatOffset(currentOffset))
内容的提问来源于stack exchange,提问作者pedrofromperu
相关产品推荐
相关产品推荐

