JS时间戳、日期互相转换

获取当前系统时间戳:

	// 获取当前系统时间戳
	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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值