Moment.js,带有数据属性时区的时刻时区
Moment.js & Moment Timezone with data-attribute timezones
我有一个服务器生成的country/city
格式的位置列表,即
<span class="location" data-timeZoneID="China/Beijing">Beijing</span>
<span class="location" data-timeZoneID="England/London">London</span>
我想使用JS/Jquery和时刻时区这样做:
- 从每个项目中提取
data-timezone-
属性 - 提供给
moment.tz()
的实例, - 并将结果附加到元素,从而在列出的任何位置显示时间。
编辑:我成功地拉数据属性值与jQuery,但当我试图将它们传递给moment().tz()
;时间没有转换,而是显示我的本地客户端时间。当我手动输入IANA时区ID时,会发生转换(尽管仍然不准确)。关于为什么data-attribute
提供的值不能工作的任何想法?
This (sortof) works:
$(function(){
$('.location').each(function() {
var timeZone = $(this).data('timezoneid');
var now = moment().tz('Africa/Tripoli').format("MM/DD/YYYY hh:mm");
$(this).append( now );
});
});
这不会(显示本地时间):