JavaScript 时间的操作

1. 标准日期格式 转 时间戳

第一步,设置一个标准日期,获取这个日期格式的时间戳

 

let timeStr = "2020-08-10 12:34:45";
let newTime = timeStr.replace(/-/g,"/"); //需要转化成这样的时间格式 2020/08/10 12:34:35
let createTime = new Date(newTime).getTime(); // 最后结果,毫秒下的时间,

 

 

 

第二步,时间戳转化标准日期格式

function timetrans(date){
            var date = new Date(date);//如果date为13位不需要乘1000, var date = new Date(date*1000)   ,因为getTime是精确到毫秒
            var Y = date.getFullYear() + '-';
            var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
            var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
            var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
            var m = (date.getMinutes() <10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
            var s = (date.getSeconds() <10 ? '0' + date.getSeconds() : date.getSeconds());
            return Y+M+D+h+m+s;
}
// 2020-08-10 00:00:00

 

2. 根据时间戳差值判断,几分钟前,几个小时前 ,正常日期格式

let createTime = new Date("2020-08-10 21:10:00").getTime();
console.log("获取指定时间戳= "+createTime);
// 注意,时间戳要数字类型 ,不能NaN let nowTime
= new Date().getTime(); console.log("获取当前时间戳= "+nowTime); let temp = nowTime-createTime; console.log("时间的差值= "+temp); //毫秒,转化成秒,转化成分钟,时间 let result = temp/1000/3600; console.log('结果'+result); if(result<1){ //多少分钟前 console.log(parseInt(result*60)+'分钟前'); }else if(result>=1&&result<=24){ console.log(parseInt(result)+"小时前"); }else { //具体时间 }

 

3.  通过时间,给对象排序

       //将新数组里面的元素,通过时间进行排序
            function compare(p){
                return function(m,n){
                    let a = m[p];
                    let b = n[p];
                    
                    let newTimeA = a.replace(/-/g,"/"); 
                    let newTimeB = b.replace(/-/g,"/"); 
                    let date1 = new Date(newTimeA);
                    let date2 = new Date(newTimeB);
                    return date2-date1;
                }
            }
            MessageArr.sort(compare("time"));
 
       //将数据设置回去(react native 操作) 
       this.setState({
                interActiveMessage: MessageArr
            });

 

posted @ 2020-08-10 22:34  tengyuxin  阅读(354)  评论(0编辑  收藏  举报