【问题标题】:Extract time only from a Datetime Moment.js object仅从 Datetime Moment.js 对象中提取时间
【发布时间】:2017-08-15 10:23:29
【问题描述】:

我在下面有 Moment.js 日期对象 marketStartTime

我想从上述对象中提取时间(小时、秒和上午/下午)并将其保留为时刻对象(而不仅仅是字符串)。

我在下面想出了一个丑陋的方法:

moment(moment(marketStartTime, TIME_FORMAT).format(TIME_FORMAT), TIME_FORMAT)

我先将时刻转换为时间字符串,然后再将时间字符串转换回时刻。

有没有办法只是从时刻对象中提取时间并将其保留为时刻对象?

【问题讨论】:

  • moment.duration,对你的问题没用吗?
  • @hosar 我不需要时间范围,我只需要一次。我不知道 moment.duration 在这里可以如何帮助我,但是如果您对此有进一步的了解,那就太好了!
  • @Vtron89 从上述对象中提取时间(小时、秒和上午/下午)并将其保留为时刻对象(而不仅仅是字符串)是什么意思?请注意,时刻对象(如原生 JS 日期)始终表示时间和日期(默认为今天)。

标签: javascript datetime momentjs


【解决方案1】:

您可以根据日期的开始创建持续时间 我是这样使用的:

        var from = (value.clone()).startOf('d');           
        this.innerValue = m.duration({ from: from, to: value });

记得使用 Moment 版本 >2(我使用的是 2.17.1)。从 2.1 版开始,他们改进了对持续时间的支持,请参阅 https://momentjs.com/docs/#/durations/

【讨论】:

    【解决方案2】:

    你可以试试

    moment().format("h:mm:ss a")
    

    我正在寻找最直接的方式。 另外,您可以检查您可以使用的格式here

    【讨论】:

      猜你喜欢
      • 2015-06-12
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2019-01-25
      • 2017-12-11
      • 2021-10-21
      • 1970-01-01
      相关资源
      最近更新 更多