- Js获取当前日期时间的方法
function CurentTime(){ var now = new Date(); var year = now.getFullYear(); //年 var month = now.getMonth() + 1; //月 var day = now.getDate(); //日 var hh = now.getHours(); //时 var mm = now.getMinutes(); //分 var clock = year + "-"; if(month < 10)clock += "0";clock += month + "-"; if(day < 10)clock += "0";clock += day + " "; if(hh < 10)clock += "0";clock += hh + ":"; if (mm < 10) clock += '0';clock += mm; return(clock); }
- JS获取当前时间戳的方法
第一种方法:
var timestamp = Date.parse( new Date());结果:1477808630000 不推荐这种办法,毫秒级别的数值被转化为000
var timestamp = ( new Date()).valueOf();结果:1477808630404 通过valueOf()函数返回指定对象的原始值获得准确的时间戳值
第三种方法:
var timestamp = new Date().getTime();结果:1477808630404 ,通过原型方法直接获得当前时间的毫秒值,准确
第四种方法:
var timestamp4=Number(new Date());
结果:1477808630404 ,将时间转化为一个number类型的数值,即时间戳
- 时间戳转时间
var time = new Date(1526572800000); //直接用 new Date(时间戳) 格式转化获得当前时间 console.log(time); // VM626:2 Fri May 18 2018 00:00:00 GMT+0800 (中国标准时间) var times = time.toLocaleDateString().replace(/\//g,"-")+" "+time.toTimeString().substr(0,8); //再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式 console.log(times); // 2018-5-18 00:00:00 不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为2016年8月24日 22:26:19 格式 搜狗为Wednesday, August 24, 2016 22:39:42, 可以通过分别获取时间的年月日进行拼接,如方法2方法2:
var now = new Date(1526572800000), y = now.getFullYear(), m = now.getMonth() + 1, d = now.getDate(), x = y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d) + " " + now.toTimeString().substr(0, 8); console.log(x); // 2018-05-18 00:00:00封装方法:
formatAdd(m){
return m<10?'0'+m:m
},
formatTime(timeStamp){
var time = new Date(timeStamp);
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return y+'-'+this.formatAdd(m)+'-'+this.formatAdd(d)+' '+this.formatAdd(h)+':'+this.formatAdd(mm)+':'+this.formatAdd(s);
},
- 当前时间转时间戳
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime); //传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做var arr = strtime.replace(/ |:/g, '-').split('-');
date = new Date(Date.UTC(arr[1], arr[2], arr[3], arr[4], arr[5]));
//三种方式获取:
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
//三种获取的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000
//三种方式获取:
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
//三种获取的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面代码输出的结果(一眼就能看出区别):
1398250549123
1398250549123
1398250549000