简体   繁体   English

Moment.js日前

[英]Moment.js Day Ago

I have a problem. 我有个问题。 I create chat, I use to this moment js. 我创建聊天,我用这个时刻js。 Variable (this.entry.createdData) has date hours of sent message. 变量(this.entry.createdData)具有发送消息的日期时间。 I would like to display if caller sent me a message yesterday / day before yesterday or in the format DAY: MONTH. 如果来电者昨天/前天或以DAY:MONTH格式向我发送了一条消息,我想显示。 Unfortunately it does not work. 不幸的是它不起作用。 When message was posted yesterday at 16.15 and today is 15.15 it shows today's date instead of yesterday. 当消息昨天在16.15发布时,今天是15.15,它显示今天的日期而不是昨天。 Ideas? 想法?

    var mom = moment(this.entry.createdDate),
            now = moment(),
            diffInDays = mom.from(now),
            diffInYears = now.diff(mom, 'years');

    if( diffInYears!== 0 ){
        return mom.format('DD MM YYYY')
    }
    else{
        if( diffInDays === "1 day ago" )
            return 'Yesterday';
        else if( diffInDays === "2 days ago" )
            return 'Day Before Yesterday';
        else 
            return mom.format('DD MM');
    }
}

You have to decide "yesterday" by comparing the time with start of today. 你必须通过比较今天开始的时间来决定“昨天”。 If the time is between start of yesterday and start of today, then it is. 如果时间是从昨天开始到今天开始,那么它就是。

Checkout APIs https://momentjs.com/docs/#/manipulating/start-of/ 结帐API https://momentjs.com/docs/#/manipulating/start-of/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM