gpt4 book ai didi

javascript - Moment.js 和具有数据属性时区的 Moment Timezone

转载 作者:行者123 更新时间:2023-12-02 17:16:34 26 4
gpt4 key购买 nike

我有一个服务器生成的位置列表,采用国家/城市格式,即

<span class="location" data-timeZoneID="China/Beijing">Beijing</span>
<span class="location" data-timeZoneID="England/London">London</span>

我想使用 JS/Jquery 和 Moment Timezone 来执行此操作:

  1. 从每个项目中提取 data-timezone- 属性
  2. 将其提供给 moment.tz() 的实例
  3. 并将结果附加到元素中,从而在列出的任何位置显示时间。

编辑:我成功地使用 jQuery 提取数据属性值,但是当我尝试将它们传递给 moment().tz();时间未转换,而是显示我的本地客户端时间。当我手动输入 IANA 时区 ID 时,就会发生转换(尽管仍然不准确)。对于为什么从 data-attribute 提供的值不起作用有什么想法吗?

这(有点)有效:

$(function(){
$('.location').each(function() {
var timeZone = $(this).data('timezoneid');
var now = moment().tz('Africa/Tripoli').format("MM/DD/YYYY hh:mm");
$(this).append( now );
});
});

这不会(显示本地时间):

HTML

<span class="location" data-timeZoneID="Africa/Tripoli">Tripoli: </span><br />
<span class="location" data-timeZoneID="England/London">London: </span>

JS

$(function(){
$('.location').each(function() {
var timeZone = $(this).data('timezoneid');
var now = moment().tz("'" + timeZone + "'").format("MM/DD/YYYY hh:mm");
$(this).append( now );
});
});

jsFiddle

link

最佳答案

这是一个有效的 JSFiddle

http://jsfiddle.net/93pEd/1/

请注意我所做的 2 处更改:

 - London is Europe/London instead of England/London
- the format is HH:mm instead of HH:MM

关于javascript - Moment.js 和具有数据属性时区的 Moment Timezone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com