首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JS [UTC+2,UTC+3,UTC-12等]中的数值设置UTC时区

用JS [UTC+2,UTC+3,UTC-12等]中的数值设置UTC时区
EN

Stack Overflow用户
提问于 2022-07-09 16:45:54
回答 1查看 99关注 0票数 -1

我如何创建一个特定时区的日期,比如UTC+2、UTC+3、UTC-12等等,而不是使用js/tient.js中的“America/New”这样的字符串呢?我有一个UTC+2、UTC+3、UTC-12等格式的服务器上所有时区的列表,所以我需要用选择的时区创建日期。我尝试使用moment.js,但它只接受字符串格式。谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-09 17:07:38

我试着用moment.js但是..。

你不是学过那些方法吗:.utc().add().format()

编辑

要容纳非全时偏移量,可以使用.match返回偏移量、小时和选择分钟的符号(+或-)。

下面是实际可能的抵消列表:维基百科

如果您的偏移量仅为UTC或空字符串,则输出UTC时间。

代码语言:javascript
复制
const timeOffsets = ["UTC+2", "UTC+3", "UTC-12", "UTC+5:45", "UTC-3:30", "UTC", ""]

function getlocalTime(offset) {
  const time = offset.match(/([\+\-])(\d{1,2}):?(\d{2})?/)
  let sign = ""
  let numericOffset = 0
  if (time) {
    sign = time[1]
    numericOffset = parseInt(time[2]) + (time[3] ? parseInt(time[3]) / 60 : 0)
  }

  return moment().utc().add(sign + numericOffset, "hours").format("YYYY-MM-DD HH:mm:ss")
}

const result = timeOffsets.map(getlocalTime)

console.log(result)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/moment.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72923145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档