美文网首页
根据时间戳输出对应的时间

根据时间戳输出对应的时间

作者: 星球小霸王 | 来源:发表于2018-04-16 15:46 被阅读0次

写一个模块,外部调用这个模块,请求参数是时间戳,模块输出要求如下
1,今天的时间,用24小时制写
2,昨天的时间,统一写昨天
3,昨天之前的时间,但是在本周之内的时间,统一用周一到周日表示
4,上周的时间统一写成18/4/16,分别代表年/月/日
5,当时间为个位数的时候需要用0来补位,年月日不用补位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Document</title>
</head>
<body>
    <script>
    var a = new Date("2018-4-20 23:50:48").getTime()
        function setTime(date){
            //获取当前时间
            var today = new Date();
            var nowTime = today.getTime();
            var inputTime = new Date(date);
            //首先的到今天凌晨的时间的毫秒数
            var lc = new Date(today.getFullYear(),today.getMonth(),today.getDate()).getTime();
            /*当天的时间内*/
            if(lc < date){//输入的时间毫秒数大于今天凌晨的时间毫秒数就是今天
                var h = inputTime.getHours()
                var m = inputTime.getMinutes()
                var s = inputTime.getSeconds()
                h<10?'0'+h:h;
                m<10?'0'+m:m;
                s<10?'0'+s:s;
                return h+":"+m+":"+s
            }
            var disdays = parseInt((nowTime - date)/(1000*60*60*24));
            /*如果是一周之内的*/
            if(disdays<7){
                /*昨天的时间*/
                //在获取昨天凌晨的时间的毫秒数
                var yestdaylc = new Date(lc-24*60*60*1000).getTime();
                if(date>=yestdaylc&&date<lc){
                   var day = inputTime.getDay()
                   var h = inputTime.getHours()
                   var m = inputTime.getMinutes()
                   var s = inputTime.getSeconds()
                   h<10?'0'+h:h;
                   m<10?'0'+m:m;
                   s<10?'0'+s:s;
                   return "昨天 "+h+":"+m+":"+s 
                }else{
                    var day = inputTime.getDay()
                    switch(Number(day)){
                        case 0:
                            day = "日"
                            break ;
                        case 1:
                            day = "一"
                            break ;
                        case 2:
                            day = "二"
                            break ;
                        case 3:
                            day = "三"
                            break ;
                        case 4:
                            day = "四"
                            break ;
                        case 5:
                            day = "五"
                            break ;
                        case 6:
                            day = "六"
                            break ;

                    }
                    var h = inputTime.getHours()
                    var m = inputTime.getMinutes()
                    var s = inputTime.getSeconds()
                    h<10?'0'+h:h;
                    m<10?'0'+m:m;
                    s<10?'0'+s:s;
                    return "星期"+day+" "+h+":"+m+":"+s
                }
            }else{
                var year = inputTime.getFullYear()
                var month = inputTime.getMonth()+1
                var dayte = inputTime.getDate()
                h<10?'0'+h:h;
                m<10?'0'+m:m;
                s<10?'0'+s:s;
                return year+"/"+month+"/"+dayte
            }
            
        }
        console.log(setTime(a))
    </script>
</body>
</html>

相关文章

网友评论

      本文标题:根据时间戳输出对应的时间

      本文链接:https://www.haomeiwen.com/subject/idjekftx.html