js 日期时间格式转换 时间戳转换

1.时间戳转换成日期时间格式     // 1395849600000  => 2014-03-27 00:00:00

1-最直接易读的转换

var oldTime = 1395849600000 ; // 2014-03-27 00:00:00
function formatDateTime(date) {
    var time = new Date(date);  // 实例化时间戳  time.后面的是时间获取转换的对应方法
    var hour = time.getHours();
    var minute = time.getMinutes();
    var second = time.getSeconds();
    var year = time.getFullYear()
    var month = time.getMonth();
    var date = time.getDate();
    month = month + 1;                       // 月份要多加一个月(不知道就自行google)
    if( month < 10){ month = "0" + month};   // if判断是少于两位数就补0
    if( date < 10){ date= "0" + date  };
    if( hour < 10){ hour= "0" + hour };
    if( minute < 10){ minute= "0" + minute};
    if( second < 10){ second= "0" + second};
    return  year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" +second;
};
var formatTime = formatDateTime(oldTime);   // 调用formatDateTime函数并赋值给formatTime
console.log(oldTime,"=>",formatTime)

但是,上面的方法看起来有点多,我想继续改改吧。

let oldTime = 1395849600000 ; // 2014-03-27 00:00:00
    function formatDateTime(date) {
        let t= new Date(date);         // 实例化时间戳  time.后面的是时间获取转换的对应方法
        let y = t.getFullYear();        
        let m = t.getMonth()+1;         // 月份要多加一个月(不知道就自行google)
        let d = t.getDate();
        let h = t.getHours();
        let min = t.getMinutes();
        let s = t.getSeconds();      
        // 返回给外面调用它的地方(需要的格式也在return后面拼装)
        return  y + "-" + (m<10?m="0"+m:m) +"-" + (d<10?d="0"+d:d) + " " +
(h<10?h="0"+h:h) + ":" + (min<10?min="0"+min:min) + ":" + (s<10?s="0"+s:s); 
    };
    let formatTime = formatDateTime(oldTime); // 调用formatDateTime函数并赋值给formatTime
    console.log(oldTime,"=>",formatTime)

这样return后面就写着很长了(虽然+号可以换行),看起来怪怪的,那就继续改改吧。

let oldTime = 1395849600000 ; // 2014-03-27 00:00:00
    function formatDateTime(date) {
        let t = new Date(date);   // 实例化时间戳  time.后面的是时间获取转换的对应方法
        let y = t.getFullYear();
        let m = t.getMonth()+1;
        m = m<10?"0"+m:m;
        let d = t.getDate()<10?"0"+t.getDate():t.getDate(); 
        let h = t.getHours()<10?"0"+t.getHours():t.getHours();
        let min = t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes();
        let s = t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds();                     
        return  y+"-"+m+"-"+d+" "+h+":"+min+":"+s;   // 返回给外面调用它的地方
    };
    let formatTime = formatDateTime(oldTime);  // 调用formatDateTime函数并赋值给formatTime
    console.log(oldTime,"=>",formatTime)

如果你的时间格式不一定要两位数值的,可以这样写,简单。

function formatDateTime(date) {
        let t = new Date(date);   // 实例化时间戳  time.后面的是时间获取转换的对应方法                
        return  t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds();   // 返回给外面调用它的地方
    };
console.log(formatDateTime(1395849600000))

你还有什么更好的方法或者建议,欢迎留言

猜你喜欢

转载自blog.csdn.net/weixin_42348071/article/details/82748334