首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将UTC小时(HH)更改为本地时间(HH)

如何将UTC小时(HH)更改为本地时间(HH)
EN

Stack Overflow用户
提问于 2018-09-20 06:35:55
回答 1查看 30关注 0票数 1

我们正在访问一个允许我们计划日期/时间的API。我们需要检查预定的事情,这样我们就不会在同一小时重复预订。API返回的时间在军事上仅为HH。但是,它使用的是UTC HH。因此,如果我们在下午1点安排一些事情,它将返回18。

我正在尝试使用Moment.js将UTC18改回CST (当地时间)。我失败得很厉害。

在下面的例子中,我从API中得到了18,下面的函数尝试转换为本地时间(恰好是CST)。但函数只是将其转换或保留为18。帮助?

代码语言:javascript
复制
function changeTakenHoursFromUTC (taken) {
if(taken) {
  for (var i = 0, len = taken.length; i < len; i++) {

  // construct a moment object with UTC-based input
  var utchour = taken[i].send_hour + ":00:00";
  console.log( "Hour before change " + utchour);
  var h = moment.utc(utchour);

  // convert using the TZDB identifier for US Central time
  h.tz('America/Chicago');
  h.local();
  console.log( "Hour before change " + h._i );
  var s = h.format("HH");
  taken[i].send_hour = s._i;
  console.log( "Taken hour back in taken is " + taken[i].send_hour );

  count += 1;

  if(i == len-1 && count > 0) {
    //
    return;
  }


  } // end for
} // end IF

} // end changeTakenHoursFromUTC
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-20 07:30:02

您的moment.utc(utchour, "HH")中缺少一个格式字符串

我创建这个函数是为了提供帮助作为一个例子:

代码语言:javascript
复制
function changeTakenHoursFromUTC (taken) {
  // construct a moment object with UTC-based input
  console.log( "Hour before change " + taken);
  var h = moment.utc(taken, "HH");
  console.log(h.format("HH"));
  h.local();
  console.log( "Hour after change " + h.format("HH"));
}

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

https://stackoverflow.com/questions/52415059

复制
相关文章

相似问题

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