Javascript 一天前

Javascript 一天前,javascript,date,momentjs,Javascript,Date,Momentjs,我有个问题。 我创建聊天室,我用这个时刻。变量this.entry.createdData具有发送消息的日期小时数。我想显示来电者是否在昨天/前天或以day:MONTH格式向我发送消息。不幸的是,它不起作用。当这条信息昨天16点15分发布,今天是15点15分时,它显示的是今天的日期,而不是昨天的日期。想法 var mom = moment(this.entry.createdDate), now = moment(), diffInDays

我有个问题。 我创建聊天室,我用这个时刻。变量this.entry.createdData具有发送消息的日期小时数。我想显示来电者是否在昨天/前天或以day:MONTH格式向我发送消息。不幸的是,它不起作用。当这条信息昨天16点15分发布,今天是15点15分时,它显示的是今天的日期,而不是昨天的日期。想法

    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');
    }
}

你必须通过比较昨天的时间和今天的开始来决定昨天。如果时间介于昨天开始和今天开始之间,那么它就是


签出API

您可以发布JSFIDLE吗?事实上,我不能:对不起,我可以向您展示console.log的输出,您愿意吗?如果您愿意,我也可以更新/询问您的问题。this.entry.createdData的值是多少?它是什么类型?@zgrybus好的,this.entry.createdData的示例值是什么?只是想重现你的情景。