仿微信发消息时间显示,刚刚,昨天,星期几

显示规则:
今日 HH:mm
昨天 昨天 HH:mm
一周内 星期几 HH:mm(从6天前的0点开始算)
一周前 yy/MM/dd HH:mm

参考文章:https://segmentfault.com/a/1190000014795596?utm_source=tag-newest

代码如下:

        function showTime(display){

            let nowTime = new Date();//当前时间
            nowYear = nowTime.getFullYear();
            nowMonth = nowTime.getMonth() + 1;
            nowDay = nowTime.getDate();
            nowHours = nowTime.getHours();
            nowMinutes = nowTime.getMinutes();
        
            let displayTime = new Date(display);//参数时间
            displayYear = displayTime.getFullYear();
            displayMonth = displayTime.getMonth() + 1;
            displayDay = displayTime.getDate();
            displayHours = displayTime.getHours();
            displayMinutes = displayTime.getMinutes();

            const IN_Minutes = 3 * 60 * 1000;//3分钟
            const IN_DAY = 24 * 60 * 60 * 1000;//1天
        
            if(nowTime-displayTime <= IN_Minutes){
            
                return '刚刚'
            
            }else if(displayYear==nowYear && displayMonth == nowMonth &&  nowDay==displayDay){
            
                return zeroize(displayHours) + ":" + zeroize(displayMinutes)
            
            }else if(displayYear==nowYear && displayMonth == nowMonth &&  displayDay== nowDay-1){
                
                return '昨天' + zeroize(displayHours) + ":" + zeroize(displayMinutes)
            
            }else if(nowTime-displayTime<IN_DAY*7){
        
                return getWeek(displayTime) + zeroize(displayHours) + ":" + zeroize(displayMinutes) 
        
            }else{
        
                return displayYear + "/" + displayMonth + "/" + zeroize(displayDay) + " " + zeroize(displayHours) + ":" + zeroize(displayMinutes)
            }
    
        }

        function zeroize( num ) {
            return (String(num).length == 1 ? '0' : '') + num;
        }
        
        function getWeek(date) {
            let week;
            if(date.getDay() == 0) week = "星期日 "
            if(date.getDay() == 1) week = "星期一 "
            if(date.getDay() == 2) week = "星期二 "
            if(date.getDay() == 3) week = "星期三 "
            if(date.getDay() == 4) week = "星期四 "
            if(date.getDay() == 5) week = "星期五 "
            if(date.getDay() == 6) week = "星期六 "
            return week;
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 圆形方孔铜钱在我国使用时间已有两千多年了,方孔圆钱的前身是战国时期的圜钱。 在制作这种方孔圆钱过程中,古人把一百来...
    芃芃其麦遇青禾阅读 3,991评论 0 0
  • 刘建美21天新活法功课第十三天。 【心安】教育之道,安心之道,心安天下安。 【语安】太好了,没问题!一切的发生都是...
    刘建美_5744阅读 936评论 0 0
  • 前两周参加了TERRY组织的“故事小组”活动,学到一个强有力的视觉化引导工具--“创新图”。这个工具引导你以更长的...
    zerocards阅读 5,718评论 0 12