我有以下代码:
UTC<br/>
<div id="divUTC">'UTC+5:30'</div><br/>
<br/>
<div id="divLocal">
</div>
在我的javascript中我试图将UTC + 5:30转换为IST-Indian标准时间(Chennai,加尔各答,孟买,新德里) UTC值可以是转换后的值。
var divUtc = $('#divUTC');
var divLocal = $('#divLocal');
//get text from divUTC and convert to local timezone
我知道我没有在这里放置任何代码,但遗憾的是它没有引起我的注意,我可以选择放置键值对,但这没有效果。请建议。
答案 0 :(得分:0)
将UTC + XX转换为任何本地时区文本的问题之一是它不是1:1映射。尽管如此,如果你使用带有时区的时刻,你可以得到一个可能的位置列表。
1)获取所有已知的时区:
var names = moment.tz.names();
// names now contain an array of tz names
2)迭代名称数组,在特定时区创建时刻对象并获得其偏移量。以下代码将打印此时tz名称的偏移量。
for( var i = 0; i < names.length; i++){
console.log(moment.tz(names[i]).format('Z'));
}
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
另外,请记住,许多地区都有DST时间变化,这意味着该地区可能会有不同的偏移量,具体取决于一年中的时间。