【问题标题】:How do I find a difference between two moment.unix()如何找到两个 moment.unix() 之间的区别
【发布时间】:2015-06-23 14:42:03
【问题描述】:

我根据这样的时区转换 unix 时间戳:

var event_time = moment.unix(first_start).tz(timezone);

那么我需要找出:

  1. 如果 event_time 与今天是同一天 (moment())

  2. 如果今天和 event_time 之间的差小于或等于 30 分钟

  3. 否则返回格式为event_time.format('HH:mm')

但事实证明我这样做总是错误的

moment.unix(event_time).tz(timezone).isSame(moment())

【问题讨论】:

  • 什么是 first_start?你能放更多代码吗?
  • 我应该是 event_time(更新)

标签: javascript date momentjs


【解决方案1】:

您需要为 isSame 指定时间分辨率。如果未给出时间分辨率,则返回值指示日期相等。我想你正在寻找这样的东西?

if ( event_time.isSame(moment(), 'day') ) {
    // Stuff?
} else if( Math.abs(event_time.diff(moment().startOf('day'), 'minutes')) <= 30 ||
           Math.abs(event_time.diff(moment().endOf('day'), 'minutes')) <= 30) {
    // ... More stuff?
} else {
    return event_time.format('HH:mm')
}

来源:http://momentjs.com/docs/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 2018-11-12
    相关资源
    最近更新 更多