Js 怎么把utc时间转换到转换到当地时间

JS如何将UTC格式时间转本地格式
UTC格式时间想必大家并不陌生,那么怎么可以将其转换为本地格式呢?其实很简单,下面的方法会帮助大家实现这一想法
Date.prototype.format = function (format) {
"M+": this.getMonth() + 1, //month
"d+": this.getDate(), //day
"h+": this.getHours(), //hour
"m+": this.getMinutes(), //minute
"s+": this.getSeconds(), //second
"q+": Math.floor((this.getMonth() + 3) / 3), //quarter
"S": this.getMilliseconds() //millisecond
if (/(y+)/.test(format)) format = format.replace(RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) if (new RegExp("(" + k + ")").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length == 1 ? o[k] :
("00" + o[k]).substr(("" + o[k]).length));
var TempDate = new Date();
TempDate.toLocaleDateString()//日
TempDate.format("yyyy-MM-dd")//
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.035 (s). 12 q(s)在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
我知道某个UTC的值,例如0,我怎么得到这个值对应的本地时间,如
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
题目的问题描述修改一下:
//形如这种,应该叫做unix时间戳,
//形如这种,我们称之为ISO-8601格式的时间
T16:00:00Z
一般跨时区的应用,数据库中都是存储这两种格式化的时间,前端根据自己所在的时区展示对用的本地时间
把unix时间戳格式化为本地时间,推荐使用moment.js
moment.unix().format('YYYY-MM-DD')
把一个ISO时间根据时区转换,推荐使用使用moment.js
var date = 'T16:00:00Z';
var timezone = '"Asia/Shanghai';
moment(date).tz(timezone).format('YYYY-MM-DD hh:mm:ss');
如果是在微信小程序中使用,你需要先去moment官方下载moment-timezone-with-data.js这个文件到你的小程序应用中
const moment = require("./moment-timezone-with-data");
var date = 'T16:00:00Z';
var timezone = '"Asia/Shanghai';
moment(date).tz(timezone).format('YYYY-MM-DD hh:mm:ss');
如果你还想获取所有可供选择的时区,推荐使用moment.js
moment.tz.names();
moments.js
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
new Date(0)
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。我们在进行网站开发的时候有可能会涉及到国外的用户或者用户身在国外,这时就会存在时差问题,比如说我们在中国的时间是08:00,但是此时韩国的时间是09:00,如果在网页上需要进行相关显示的话就会出现问题,那作为一个前端该怎么解决这个问题呢?
前端通过请求获取的时间一般都是时间戳格式,这个时间戳一般就是UTC时间(*UTC:最接近标准时间的一个时间标准),而我们在网页上需要显示的是GMT时间,下面就是根据本地时间获得GMT时间和任意时区的时间函数:
1.将本地时间转化成任意时区的时间(如:通过本地时间获取韩国的时间):
首先我们需要知道韩国的时区,这个可以网上查,韩国时区为东9区.
var d=new Date();
var localTime = d.getTime();
var localOffset=d.getTimezoneOffset()*60000;
//getTimezoneOffset()返回是以分钟为单位,需要转化成ms
var utc = localTime + localO
offset =9; //以韩国时间为例,东9区
korean= utc + (3600000*offset);
nd = new Date(korean);
console.log("Korean time is " + nd.toLocaleString());
&2.UTC时间转化为本地时区时间(UTC时间格式一般为&"T05:23:20.000Z");
convertUTCTimeToLocalTime: function (UTCDateString) {
if(!UTCDateString){
return '-';
function formatFunc(str) {
//格式化显示
return str & 9 ? str : '0' + str
var date2 = new Date(UTCDateString);
//这步是关键
var year = date2.getFullYear();
var mon = formatFunc(date2.getMonth() + 1);
var day = formatFunc(date2.getDate());
var hour = date2.getHours();
var noon = hour &= 12 ? 'PM' : 'AM';
hour = hour&=12?hour-12:
hour = formatFunc(hour);
var min = formatFunc(date2.getMinutes());
var dateStr = year+'-'+mon+'-'+day+' '+noon +' '+hour+':'+
return dateS
console.log(convertUTCTimeToLocalTime("T05:23:20.000Z"));
//&PM 01:23
参考地址:http://bjtime.cn/info/view.asp?id=223
阅读(...) 评论()javascript根据浏览器的不同时区获取该时区下的本地时间
[问题点数:20分,结帖人zuiliwangmeng]
javascript根据浏览器的不同时区获取该时区下的本地时间
[问题点数:20分,结帖人zuiliwangmeng]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2014年5月 Web 开发大版内专家分月排行榜第二2014年4月 Web 开发大版内专家分月排行榜第二
2014年3月 Web 开发大版内专家分月排行榜第三2014年2月 Web 开发大版内专家分月排行榜第三2013年7月 .NET技术大版内专家分月排行榜第三2013年6月 .NET技术大版内专家分月排行榜第三2012年9月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|JS UTC 时间格式转换
[问题点数:40分,结帖人CHEN_SL1986]
JS UTC 时间格式转换
[问题点数:40分,结帖人CHEN_SL1986]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2009年6月 .NET技术大版内专家分月排行榜第二
2009年7月 .NET技术大版内专家分月排行榜第三
匿名用户不能发表回复!|

我要回帖

更多关于 c 时间戳转换到毫秒 的文章

 

随机推荐