前端知识学习

一、日期字符串转时间戳

    // 获取当前时间戳(以s为单位)
	    // 第一种方式
	    var timestamps = +new Date();
	    timestamps = timestamps / 1000;
	    // 第二种方式
	    var timestamp = Date.parse(new Date());
	    timestamp = timestamp / 1000;
	    // 第三种方式
	    var date = new Date("2014-07-10 10:21:12"); //时间对象
	    var str = date.getTime(); //转换成时间戳
	    str = str / 1000;
 
    // 获取某个时间格式的时间戳
    var stringTime = "2014-07-10 10:21:12";
    var timestamp2 = Date.parse(new Date(stringTime));
    timestamp2 = timestamp2 / 1000;

二、时间戳转日期字符串

 // 第一种方式 原生的方式 但是不能修改
    var timestamp3 = 1403058804;
    var newDate = new Date();
    newDate.setTime(timestamp3 * 1000);
    console.log(newDate.toLocaleDateString()); // 2014年6月18日 
    console.log(newDate.toLocaleString()); // 2014年6月18日 上午10:33:24  
    console.log(newDate.toLocaleTimeString()); // 上午10:33:24 
    // 第二种方式:给日期对象原型添加一个方法
    Date.prototype.format = function(format) {
        var date = {
            "M+": this.getMonth() + 1,
            "d+": this.getDate(),
            "h+": this.getHours(),
            "m+": this.getMinutes(),
            "s+": this.getSeconds(),
            "q+": Math.floor((this.getMonth() + 3) / 3),
            "S+": this.getMilliseconds()
        };
        if (/(y+)/i.test(format)) {
            format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
        }
        for (var k in date) {
            if (new RegExp("(" + k + ")").test(format)) {
                format = format.replace(RegExp.$1, RegExp.$1.length == 1 ?
                    date[k] : ("00" + date[k]).substr(("" + date[k]).length));
            }
        }
        return format;
    }
    console.log(newDate.format('yyyy-MM-dd h:m:s'));
    // 第三种方式:函数处理
    function formatDate(now) {
        var year = now.getFullYear();
        var month = now.getMonth() + 1;
        var date = now.getDate();
        var hour = now.getHours();
        var minute = now.getMinutes();
        var second = now.getSeconds();
        return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
    }
    var d = new Date(1368360620000);
    console.log(formatDate(d));