【问题标题】:Implementing Moment.js and Moment Timezone实现 Moment.js 和 Moment 时区
【发布时间】:2013-09-06 15:19:39
【问题描述】:

我有一个 jsfiddle here

它是空白的,因为我正在尝试做的事情不起作用......

我已经调用了适当的外部脚本。

我正在尝试在我的网站中实现这个令人难以置信的库,但我不确定我做错了什么。

最终,我需要根据点击的州显示美国不同地区的时区。

我已经包含了核心库、moment-timezone 库和我的moment-timezone-data 文件。以下是数据文件的外观(从 Timezone Data Builder 提取)

moment.tz.add({
    "zones": {
        "America/Los_Angeles": [
            "-7:52:58 - LMT 1883_10_18_12_7_2 -7:52:58",
            "-8 US P%sT 1946 -8",
            "-8 CA P%sT 1967 -8",
            "-8 US P%sT"
        ]
    },
    "rules": {
        "US": [
            "1918 1919 2 0 8 2 0 1 D",
            "1918 1919 9 0 8 2 0 0 S",
            "1942 1942 1 9 7 2 0 1 W",
            "1945 1945 7 14 7 23 1 1 P",
            "1945 1945 8 30 7 2 0 0 S",
            "1967 2006 9 0 8 2 0 0 S",
            "1967 1973 3 0 8 2 0 1 D",
            "1974 1974 0 6 7 2 0 1 D",
            "1975 1975 1 23 7 2 0 1 D",
            "1976 1986 3 0 8 2 0 1 D",
            "1987 2006 3 1 0 2 0 1 D",
            "2007 9999 2 8 0 2 0 1 D",
            "2007 9999 10 1 0 2 0 0 S"
        ],
        "CA": [
            "1948 1948 2 14 7 2 0 1 D",
            "1949 1949 0 1 7 2 0 0 S",
            "1950 1966 3 0 8 2 0 1 D",
            "1950 1961 8 0 8 2 0 0 S",
            "1962 1966 9 0 8 2 0 0 S"
        ]
    },
    "links": {}
});

这是对脚本的调用...

<body>
    <script>
        moment().tz("America/Los_Angeles").format("h:mm a")
    </script>
</body>

这里有一些指导会很棒!

【问题讨论】:

  • 您好,我很乐意提供帮助,但您发布的链接不是jsfiddle。不管是什么都需要用户名和密码,所以我看不到。
  • 对此我深表歉意。我觉得很难受。我已经用 jsfiddle 更新了链接。
  • 还是不行。我认为您正在包括来自您自己网站的受密码保护的外部资源。无论如何,这可能正是我在下面的回答中所描述的。
  • 哦...没有意识到你和下面是同一个人。请参阅我的评论。

标签: javascript datetime momentjs


【解决方案1】:

可能只是你没有对输出做任何事情。尝试类似:

<div id="foo"></div>
<script>
    var s = moment().tz("America/Los_Angeles").format("h:mm a");
    document.getElementById("foo").innerHTML = s;
</script>

当然,您实际用它做什么将取决于您的应用程序。

【讨论】:

  • 好的。那行得通。我赞成你的回答,但我不想要一个弹出窗口......我希望它简单地显示在我创建的 div 中。
  • 已更新。这适用于任何 javascript。还有其他方法,比如jQuery。但对于 moment.js 来说,这里没有什么特别之处——它只是一个字符串。
  • 这最终给了我一个完全空白的屏幕。我现在正在玩它。
  • 之所以有效,是因为您将var s = moment().tz("America/Los_Angeles").format("h:mm a"); document.getElementById("foo").innerHTML = s; 放在了底部……这很有意义。
猜你喜欢
  • 2014-08-15
  • 2021-01-02
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多