【JavaScript】標準日期、中國標準時間、時間戳、毫秒數互轉
阿新 • • 發佈:2018-12-29
首先要明確這三種格式是什麼樣子的:
- 標準日期:2017-09-19 或 2017-09-19 20:00:00
- 中國標準時間:Mon Oct 23 2017 17:20:13 GMT+0800 (中國標準時間)
- 時間戳:1508750413
- 毫秒數:1508750413000
注意:時間戳*1000就是毫秒數
日期或中國標準時間轉毫秒數:
//變數
let myDate2 = 'Mon Oct 23 2017 17:20:13 GMT+0800 (中國標準時間)';
let myDate3 = '2017-09-19';
let myDate4 = '2017-09-19 20:00:00';
//實現方法
function dateToMs (date ) {
let result = new Date(date).getTime();
return result;
}
//例子
console.log(dateToMs(myDate2));//--->1508750413000
console.log(dateToMs(myDate3));//--->1505779200000
console.log(dateToMs(myDate4));//--->1505779400000
毫秒數或中國標準時間轉日期:
//變數
let myTime1 = dateToLongMs(myDate2);
let myTime2 = dateToLongMs(myDate3);
let myTime3 = dateToLongMs(myDate4);
//實現方法 @return 返回2個值,一個是帶時分秒,另一個不帶。
function msToDate (msec) {
let datetime = new Date(msec);
let year = datetime.getFullYear();
let month = datetime.getMonth();
let date = datetime.getDate();
let hour = datetime.getHours();
let minute = datetime. getMinutes();
let second = datetime.getSeconds();
let result1 = year +
'-' +
((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +
'-' +
((date + 1) < 10 ? '0' + date : date) +
' ' +
((hour + 1) < 10 ? '0' + hour : hour) +
':' +
((minute + 1) < 10 ? '0' + minute : minute) +
':' +
((second + 1) < 10 ? '0' + second : second);
let result2 = year +
'-' +
((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) +
'-' +
((date + 1) < 10 ? '0' + date : date);
let result = {
hasTime: result1,
withoutTime: result2
};
return result;
}
//例子
console.log(msToDate(myTime1).hasTime);//--->2017-10-23 17:20:13
console.log(msToDate(myTime1).withoutTime);//--->2017-10-23
console.log(msToDate(myTime2).hasTime);//--->2017-09-19 08:00:00
console.log(msToDate(myTime2).withoutTime);//--->2017-09-19
標準日期轉中國標準時間
//變數
let myDate4 = '2017-09-19';
let myDate5 = '2017-09-19 20:00:00';
//實現方法
function formatterDate (date) {
let result = new Date(date);
return result;
}
//例子
console.log(formatterDate(myDate4));//--->Tue Sep 19 2017 08:00:00 GMT+0800 (中國標準時間)
console.log(formatterDate(myDate5));//--->Tue Sep 19 2017 20:00:00 GMT+0800 (中國標準時間)