javascript - 如何找到两个 moment.unix() 之间的差异

标签 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')

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

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

最佳答案

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

关于javascript - 如何找到两个 moment.unix() 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005944/

相关文章:

javascript - 仅从列表 jquery 中显示选定的元素

javascript - jQuery 自动完成 - IE8 问题 - 此选项卡已恢复

mysql - 如何避免在 MySql 中存储默认日期(1970-01-01)

R如何根据上下文填写缺失的日期

javascript - moment 库是否支持时区缩写的翻译,如 EST、IST 等

javascript - 我可以根据文本的值更改类别吗?

javascript - 尽管/g,.replace() 不会替换每个实例

sql - 六个月内保留的参与者百分比

javascript - 选定日期的开始日期和结束日期

javascript - "cannot read property ' 在递归函数中推送 ' of undefined",React