获取当前系统时间戳:
// 获取当前系统时间戳
var time = parseInt(new Date().getTime() / 1000);
将日期格式转换成时间戳:
var date = new Date('2014-04-23 18:55:49:123');
// 有三种方式获取
var time1 = date.getTime();
var time2 = date.valueOf();
var time3 = Date.parse(date);
console.log(time1);//1398250549123
console.log(time2);//1398250549123
console.log(time3);//1398250549000
详解:
javascript获得时间戳的方法有四种,都是通过实例化时间对象 new Date() 来进一步获取当前的时间戳
1.var timestamp1 = Date.parse(new Date()); // 结果:1477808630000 不推荐这种办法,毫秒级别的数值被转化为000
console.log(timestamp1);
2.var timestamp2 = (new Date()).valueOf(); // 结果:1477808630404 通过valueOf()
函数返回指定对象的原始值获得准确的时间戳值
console.log(timestamp2);
3.var timestamp3 = new Date().getTime(); // 结果:1477808630404 ,通过原型方法直接获得当前时间的毫秒值,准确
console.log(timestamp3);
4.var timetamp4 = Number(new Date()) ; //结果:1477808630404 ,将时间转化为一个number类型的数值,即时间戳
console.log(timetamp4);
将时间戳转换成日期格式:
function timestampToTime(timestamp) {
var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = date.getDate() + ' ';
var h = date.getHours() + ':';
var m = date.getMinutes() + ':';
var s = date.getSeconds();
return Y + M + D + h + m + s;
}
// 注:时间戳转时间(ios手机NaN)
function getTime(nS) {
var date=new Date(parseInt(nS)* 1000);
var year=date.getFullYear();
var mon = date.getMonth()+1;
var day = date.getDate();
var hours = date.getHours();
var minu = date.getMinutes();
var sec = date.getSeconds();
return year+'/'+mon+'/'+day+' '+hours+':'+minu+':'+sec;
}
第二种方法:
ar timestamp4 = new Date(1472048779952);//直接用 new Date(时间戳) 格式转化获得当前时间
console.log(timestamp4);
console.log(timestamp4.toLocaleDateString().replace(/\//g, "-") + " " + timestamp4.toTimeString().substr(0, 8)); //再利用拼接正则等手段转化为yyyy-MM-dd hh:mm:ss 格式
效果如下:
不过这样转换在某些浏览器上会出现不理想的效果,因为toLocaleDateString()方法是因浏览器而异的,比如 IE为2016年8月24日 22:26:19 格式 搜狗为Wednesday, August 24, 2016 22:39:42
三:格式化时间
四:获取特定日期
import moment from "moment";
月初:this.dateFormat(new Date(new Date().getFullYear(), new Date().getMonth(), 1));
月末:moment().endOf("month").format("YYYY-MM-DD")+ " 23:59:59";
当天零点:dateFormat(new Date(new Date(new Date().toLocaleDateString()).getTime()))
此刻:dateFormat(new Date());
上月初:dateFormat(new Date(new Date().getFullYear(), new Date().getMonth()-1, 1))
昨天最后一秒:dateFormat(new Date(new Date().toLocaleDateString()).getTime()-1);