如何知道如果一个帖子被张贴今天或昨天使用moment.js

问题描述:

如何知道昨天或今天的日期是相对于当前日期如何知道如果一个帖子被张贴今天或昨天使用moment.js

的,我还想写的函数一种

function poster_on(datetime_post, datetime_now) { 
   if (moment.any_function (param ...)) 
     return "posted yesterday"; 
    else if(condition) 
     return "posted today" 
    else 
     return "date posted"` 
} 

我试图提取datetime_poster和datime_now小时,并做一个比较

let diff = time(). diff (datetime_post, 'hours'); 

如果差值大于23,那么返回'昨天'在某些情况下是好的,但在其他情况下不会。例如,如果datetime_post是2015-03-11 14:23:00和datetime_now 2015-04-11 00:23:00,通常我的函数应该返回“昨天”,但它返回“今天”

+0

'datetime_post'和'datetime_now'的值是什么? (请不要说价值是“日期”,因为它意味着什么......) – Dekel

+0

@Dekel ..例如datetime_post可能是2015年3月11日14:23:00和datetime_now是当前日期ie时刻( )(它返回当前日期) –

+0

好的,你到目前为止尝试过什么? – Dekel

您可以使用moment(datetime_now).diff(datetime_post, 'days') <= 1 。其实你甚至不需要你可以使用的datetime_now只需要moment().diff(datetime_post, 'days') <= 1

+0

他说'datetime_now'已经是一个momentjs对象。 – Dekel

+0

我也发现这个效果很好https://github.com/moment/momentjs.com/blob/master/docs/moment/05-query/01-is-before.md –

你可以使用isSame方法。

let postdate; //some postdate 
if(moment(postdate).isSame(new Date(), "day"){ 
//same day 
}else if (moment(postdate).isSame(moment().subtract(1, "days"), "day"{ 
//yesterday 
}else{ 
    //other 
}