首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >时刻Js UTC到当地时间

时刻Js UTC到当地时间
EN

Stack Overflow用户
提问于 2015-09-12 23:43:45
回答 8查看 272.1K关注 0票数 192

我正在尝试将UTC时间转换为本地时间。我从这个链接开始关注这个例子:http://jsfiddle.net/FLhpq/4/light/。我似乎无法获得正确的本地输出。例如,如果这里是上午10:30,而不是10: 30,我会得到15: 30。下面是我的代码:

代码语言:javascript
复制
var date = moment.utc().format('YYYY-MM-DD HH:mm:ss');

var localTime  = moment.utc(date).toDate();

localTime = moment(localTime).format('YYYY-MM-DD HH:mm:ss');

console.log("moment: " + localTime);

不管我做什么,时间总是在UTC时间出来。我住在休斯顿,所以我知道时区是个问题。我已经按照链接中的代码进行了操作,但似乎可以获得本地时间。我做错了什么?

EN

回答 8

Stack Overflow用户

发布于 2015-09-13 00:00:29

要将UTC时间转换为本地时间,您必须使用moment.local()

有关更多信息,请参阅docs

示例:

代码语言:javascript
复制
var date = moment.utc().format('YYYY-MM-DD HH:mm:ss');

console.log(date); // 2015-09-13 03:39:27

var stillUtc = moment.utc(date).toDate();
var local = moment(stillUtc).local().format('YYYY-MM-DD HH:mm:ss');

console.log(local); // 2015-09-13 09:39:27

演示:

代码语言:javascript
复制
var date = moment.utc().format();
console.log(date, "- now in UTC"); 

var local = moment.utc(date).local().format();
console.log(local, "- UTC now to local"); 
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

票数 305
EN

Stack Overflow用户

发布于 2017-12-14 14:49:35

试试这个:

代码语言:javascript
复制
let utcTime = "2017-02-02 08:00:13";

var local_date= moment.utc(utcTime ).local().format('YYYY-MM-DD HH:mm:ss');
票数 88
EN

Stack Overflow用户

发布于 2017-02-04 03:15:30

代码语言:javascript
复制
let utcTime = "2017-02-02 08:00:13.567";
var offset = moment().utcOffset();
var localText = moment.utc(utcTime).utcOffset(offset).format("L LT");

尝试此JsFiddle

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

https://stackoverflow.com/questions/32540667

复制
相关文章

相似问题

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