我根据时区转换 unix 时间戳,如下所示:
var event_time = moment.unix(first_start).tz(timezone);
那么我需要找出:
如果 event_time 与今天是同一天 (
moment()
)如果今天与 event_time 之间的差异小于或等于 30 分钟
否则返回格式化的
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')
}
关于javascript - 如何找到两个 moment.unix() 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31005944/