我怎么找到两个moment.unix()之间的区别

时间:2015-06-23 14:42:04

标签: javascript date momentjs

我根据时区转换unix时间戳,如下所示:

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

然后我需要找出:

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

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

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

  4. 但事实证明,我总是做错了

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

1 个答案:

答案 0 :(得分:2)

您需要为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/