【问题标题】:Extract time (HH:MM) from moment timezone conversion从时刻时区转换中提取时间 (HH:MM)
【发布时间】:2015-11-12 10:16:07
【问题描述】:

此代码使用 node.js moment-timezone 来获取纽约时间。

var moment = require('moment-timezone');
var time_output= moment().tz("America/New_York").format();

time_output 看起来像这样 2015-11-12T05:09:49-05:00

我想格式化time_output,使其格式为 (HH:MM),看起来像 05:09

【问题讨论】:

    标签: javascript node.js datetime timezone momentjs


    【解决方案1】:

    只需将您的 .format('zz') 更改为 .format('hh:mm')。 这应该可以。

    【讨论】:

    • 太棒了!这么简单的答案。我没有在文档中看到它。谢谢!!
    • 你在这里使用了一个库。聪明的回答者猜对了,但一般来说这是不可能的。您应该包括 require 语句和可能的库版本。
    • 你的意思是HH:mm - 大小写很重要。
    【解决方案2】:

    @Margus 因在此处找到特定于该案例的文档而受到赞誉: http://momentjs.com/docs/#/parsing/

    你的具体问题可以用这样的代码来解决:

    var moment = require('moment-timezone');
    var time_output= moment().tz("America/New_York").format("HH:mm");
    

    对于缺少文档的未来信息搜索,单元测试通常可以提供对库用例的有用见解。

    momentjs 的测试提供了一系列有用的示例: https://github.com/moment/moment/blob/develop/src/test/moment/format.js

    如果没有可用的单元测试(哦哦!)或者您需要澄清,可以参考源代码。碰巧momentjs 的源代码结构非常适合这种发现。

    日期格式在源代码中作为正则表达式: https://github.com/moment/moment/blob/develop/src/lib/format/format.js#L3

    【讨论】:

    • 你的答案是最好的,虽然不是最快的。我已切换并选择您的答案作为答案:)
    • 1) 目前的文档非常广泛。主页顶部有一个文档链接。我们怎样才能让它更显眼?支持的格式与format 函数文档here 一起使用。 2) 不,它们与 Java 的 SDF 不同。 3) 格式字符串区分大小写,hh 为 12 小时,HH 为 24 小时。您的答案格式应为HH:mm
    • 我会记住这一点,但要知道这是一个纯粹的 OSS 项目,我们一直在寻求帮助!如果你想贡献,网站本身的 repo 是here。 :)
    • @Matt Johnson,我错过了文档中的格式部分。是我的错,不是文档。
    • @MattJohnson 快速想法:一个 Read More... 链接位于首页上转到 Docs 的示例之后。我认为这会通过探索内容来吸引人们,因为他们甚至不需要在智能手机上向后滚动:)
    【解决方案3】:

    以下方法可行:

    $(function() {
      var datestring = moment().tz("America/New_York").format("HH:mm");
      $("#result").append(datestring);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
    <script src="http://momentjs.com/downloads/moment-with-locales.min.js"></script>
    <script src="http://momentjs.com/downloads/moment-timezone-with-data-2010-2020.min.js"></script>
    <div id="result"><div>

    编辑:

    有关格式选项的更多信息,您可以查看momentjs docs

    编辑:

    略有不同:

    • h - 24 小时制
    • H - 与 A 一起使用的 12 小时时间

    感谢马特·约翰逊

    【讨论】:

    • 正确答案也是如此。抱歉,我选择了另一个答案,因为它排在第一位。但是,我赞成你的回答。
    • @user3293156 值得你接受最好的答案,不一定是最快的。这个答案是正确的,但没有为您提供寻找未来答案的工具。
    • @AlainO'Dea 好点,但是我发现如果进行单元测试,人们可能更喜欢公共文档而不是有限集。无论如何,你的回答得到了我的支持。
    • @Margus 好点!我将 JavaDocs 放在首位,其他挖掘技术放在后面。
    • 应该是HH:mm 而不是hh:mm
    猜你喜欢
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 2015-03-14
    • 2014-05-13
    • 2022-12-16
    • 2018-12-03
    相关资源
    最近更新 更多