時間、時間戳、帶格式時間的轉換

時間、時間戳、帶格式時間的轉換

最近正好在工做中遇到一些有關處理時間的問題,就整理了一下關於時間轉化的問題,很基礎,但相信都會接觸的到的

  1. 時間轉換成時間戳

獲取時間markdown

let date = new Date();
console.log(date);
//輸出:Sat Mar 24 2018 18:22:00 GMT+0800 (CST) (中國標準時間)
複製代碼
  • 轉換:四種方法(不推薦第一種方法,由於毫秒級別會被轉化爲000)
let date1 = Date.parse(date);//毫秒級別的數值被轉化爲000
console.log(date1);
//輸出:1521886920000

let date2 = date.valueOf();//經過valueOf()函數返回指定對象的原始值得到準確的時間戳值
console.log(date2);
//輸出:1521886920000

let date3 = date.getTime();//經過原型方法直接得到當前時間的毫秒值,準確
console.log(date3);
//輸出:1521886920000

let date4 = Number(date);//將時間轉化爲一個number類型的數值,即時間戳
console.log(date4);
//輸出:1521886920000
複製代碼

2.時間轉換爲帶格式的時間函數

格式:yyyy-mm-ddspa

function formatDate(date) {
   var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? '0' + m : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    return y + '-' + m + '-' + d;//這裏能夠寫格式
    //輸出:2018-03-24
}
複製代碼

格式:yyyy-mm-dd hh:mm:sscode

function formatDateTime(date) {
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    var h = date.getHours();
    h=h < 10 ? ('0' + h) : h;
    var minute = date.getMinutes();
    minute = minute < 10 ? ('0' + minute) : minute;
    var second=date.getSeconds();
    second=second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
    //輸出:2018-03-24 18:41:16
複製代碼

3.時間戳轉換爲帶格式的時間orm

let date5 = new Date(date);//直接用 new Date(時間戳) 格式轉化得到時間
console.log(date5);
formatDate(date5);//直接調用上方的方法
複製代碼

4.時間格式字符串轉爲時間戳(毫秒)對象

let time1='2018-03-24 18:55:16';
let dateM=new Date(time1.replace(/-/g, '/'));  //開始時間
let time2=dateM.getTime();
console.log(time2);
//輸出:1521888916000
複製代碼
相關文章
相關標籤/搜索