• js通过某个时间戳获取昨天、今天、明天、后天的时刻


    function getTimeTransition(timestamp){
            let now_timestamp = (Date.parse(new Date())) / 1000;//现在时间戳
            let today_timestamp = getStartEndTime();//今天的起始时间戳
            let yesterday_timestamp = getStartEndTime(1);//昨天的起始时间戳
            let tomorrow_timestamp = getStartEndTime(-1);//明天的起始时间戳
            let acquired_timestamp = getStartEndTime(-2);//后天的起始时间戳
            if(today_timestamp[0] < timestamp && today_timestamp[1] > timestamp){
                //今日时间戳
                return "今日"+formatDate(timestamp,"h:i")
            }else{
                //非今日时间戳
                if((timestamp - now_timestamp) > 0){
                    //将来时间
                    console.log("将来时间")
                    if(tomorrow_timestamp[0] < timestamp && tomorrow_timestamp[1] > timestamp){
                        return "明天"+formatDate(timestamp,"h:i")
                    }else{
                        if(acquired_timestamp[0] < timestamp && acquired_timestamp[1] > timestamp){
                            return "后天"+formatDate(timestamp,"h:i")
                        }else{
                            let time_count = parseInt((timestamp - now_timestamp) / 86400);
                            if(time_count < 4){
                                return time_count + "天后"+formatDate(timestamp,"h:i");
                            }else{
                                return formatDate(timestamp,"m-d h:i")
                            }
                        }
                    }
                }else{
                    //过去时间
                    console.log("过去时间")
                    if(yesterday_timestamp[0] < timestamp && yesterday_timestamp[1] > timestamp){
                        return "昨天"+formatDate(timestamp,"h:i")
                    }else{
                        let time_count = parseInt((now_timestamp - timestamp) / 86400);
                        if(time_count < 4){
                            return  time_count + "天前"+formatDate(timestamp,"h:i");
                        }else{
                            return formatDate(timestamp,"m-d h:i")
                        }
                    }
                }
            }
            //获取某天的起止时间戳(今日传入0,昨日传入1,明日传入-1)
            function getStartEndTime (num = 0) {
                // 一天的毫秒数
                const MillisecondsADay = 24*60*60*1000 * num
                // 今日开始时间戳
                const todayStartTime = new Date(new Date().setHours(0, 0, 0, 0)).getTime()
                // 今日结束时间戳
                const todayEndTime = new Date(new Date().setHours(23,59,59,999)).getTime()
                // 昨日开始时间戳
                const yesterdayStartTime = todayStartTime - MillisecondsADay
                // 昨日结束时间戳
                const yesterdayEndTime = todayEndTime - MillisecondsADay
                return [
                    parseInt(yesterdayStartTime / 1000),
                    parseInt(yesterdayEndTime / 1000)
                ]
            }
            //时间戳转指定时间
            function formatDate(Unix,formate = 'Y-m-d h:i:s',complement = true,alike = false){
                let current = new Date(Date.parse(new Date()));
                let current_year = current.getFullYear();
                let current_month = current.getMonth() + 1;
                let current_date = current.getDate();
                let timestamp = new Date(Unix * 1000);
                let year = timestamp.getFullYear();
                let month = timestamp.getMonth() + 1;
                let date = timestamp.getDate();
                let hour = timestamp.getHours();
                let minute = timestamp.getMinutes();
                let second = timestamp.getSeconds();
                if(alike && current_year === year){
                    formate = formate.replace(/Y-/g,'');
                }else{
                }
                if(alike && current_year === year && current_month === month && current_date === date){
                    formate = formate.replace(/m-d /g,'');
                }
                if(complement){
                    month = month < 10 ? '0' + month : month;
                    date = date < 10 ? '0' + date : date;
                    hour = hour < 10 ? '0' + hour : hour;
                    minute = minute < 10 ? '0' + minute : minute;
                    second = second < 10 ? '0' + second : second;
                }
                formate = formate.replace(/Y/g,year);
                formate = formate.replace(/m/g,month);
                formate = formate.replace(/d/g,date);
                formate = formate.replace(/h/g,hour);
                formate = formate.replace(/i/g,minute);
                formate = formate.replace(/s/g,second);
                return formate;
            }
        }
        console.log(getTimeTransition(1635242400));
    

      

  • 相关阅读:
    AMR转换MP3 linuxCentOS 版(不管任何语言可以使用shell命令在linux执行转换语句)
    MySql 入门——日期计算
    javascript深度剖析之 【 var 关键字】。
    javascript动画浅析。
    javascript之this关键字浅析。
    javascript【AMD模块加载器】浅析V3(添加CSS加载功能,重构内部流程)
    html5 canvas 自制小游戏系列之 【贪吃蛇】。
    javascript设计模式简单介绍之【工厂模式】
    javascript【AMD模块加载器】浅析
    javascript【AMD模块加载器】浅析V2(整合DOM ready)
  • 原文地址:https://www.cnblogs.com/ffyun/p/15439043.html
Copyright © 2020-2023  润新知