時間、時間戳、帶格式時間的轉換
阿新 • • 發佈:2019-01-03
一:時間轉換成時間戳
//獲取時間
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