1. 程式人生 > >時間、時間戳、帶格式時間的轉換

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

一:時間轉換成時間戳

//獲取時間
let date = new Date();
console.log(date);
//輸出:Mon Oct 09 2017 14:07:47 GMT+0800 (中國標準時間)

轉換:四種方法(不推薦第一種方法,因為毫秒級別會被轉化為000)

let date1 = Date.parse(date);//毫秒級別的數值被轉化為000
console.log(date1);
//輸出:1507529267000

let date2 = date.valueOf();//通過valueOf()函式返回指定物件的原始值獲得準確的時間戳值
console.log(date2);
//輸出:1507529267648
let date3 = date.getTime();//通過原型方法直接獲得當前時間的毫秒值,準確 console.log(date3); //輸出:1507529267648 let date4 = Number(date);//將時間轉化為一個number型別的數值,即時間戳 console.log(date4); //輸出:1507529267648

時間轉換為帶格式的時間

格式:yyyy-mm-dd

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;//這裡可以寫格式 //輸出:2017-10-9 }

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

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; }; //輸出:2017-10-09 14:21:01

三:時間戳轉換為帶格式的時間

let date5 = new Date(date);//直接用 new Date(時間戳) 格式轉化獲得時間
console.log(date5);
formatDate(date5);//直接呼叫上方的方法

四:時間格式字串轉為時間戳(毫秒)

let time1='2017-10-09 17:22:37';
let dateM=new Date(time1.replace(/-/g, '/'));  //開始時間
let time2=dateM.getTime();
console.log(time2);
//輸出:1451640157000