Javascript 如何将UTC时区转换为本地时区位置
我有以下代码:Javascript 如何将UTC时区转换为本地时区位置,javascript,jquery,datetime,momentjs,Javascript,Jquery,Datetime,Momentjs,我有以下代码: UTC<br/> <div id="divUTC">'UTC+5:30'</div><br/> <br/> <div id="divLocal"> </div> 我知道我没有在这里放置任何代码,但很抱歉我没有想到它,我可以选择放置键值对,但这是无效的。请建议。将UTC+XX转换为任何本地时区文本的问题之一是它不是1:1映射。不过,如果您将momentjs与时区一起使用,您可以得到一个可能位置的列
UTC<br/>
<div id="divUTC">'UTC+5:30'</div><br/>
<br/>
<div id="divLocal">
</div>
我知道我没有在这里放置任何代码,但很抱歉我没有想到它,我可以选择放置键值对,但这是无效的。请建议。将UTC+XX转换为任何本地时区文本的问题之一是它不是1:1映射。不过,如果您将momentjs与时区一起使用,您可以得到一个可能位置的列表 1) 获取所有已知时区:
var names = moment.tz.names();
// names now contain an array of tz names
2) 迭代names数组,在特定时区创建矩对象并获取其偏移量。下面的代码将打印此时每个tz名称的偏移集
for( var i = 0; i < names.length; i++){
console.log(moment.tz(names[i]).format('Z'));
}
for(变量i=0;i
3) 在该循环中,您可以比较时刻的utcOffset或偏移量的文本表示,并获得一组适合您的偏移量的时区
这里有一个循环,它将打印+05:30的所有tz名称
var names = moment.tz.names();
for( var i = 0; i < names.length; i++){
if(moment.tz(names[i]).format('Z') === "+05:30"){
console.log(names[i])
}
}
// output:
// Asia/Calcutta
// Asia/Colombo
// Asia/Kolkata
var name=moment.tz.names();
对于(var i=0;i
另外,请记住,许多地区都有DST时间变化,这意味着根据一年中的时间,该地区可能有不同的偏移量。时区转换是一项相对较大的工作。我建议使用一些库,比如I Vladimir M,我理解,但momentjs只能将UTC时间转换为本地时间,谢谢
var names = moment.tz.names();
for( var i = 0; i < names.length; i++){
if(moment.tz(names[i]).format('Z') === "+05:30"){
console.log(names[i])
}
}
// output:
// Asia/Calcutta
// Asia/Colombo
// Asia/Kolkata