時間格式化參考:https://www.cnblogs.com/zhoushuang0426/p/10559172.html
js獲取當前時間戳;指定時間轉換時間戳;時間戳轉換時間:參考https://blog.csdn.net/qq_37896578/article/details/90080953?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf
當天0點的時間戳:
const timestamp = new Date( new Date(new Date().toLocaleDateString()).getTime() ).getTime() / 1000 console.log('-----') console.log(timestamp)
一周前的0點時間戳:
const timestamp = new Date( new Date(new Date().toLocaleDateString()).getTime() - 7 * 24 * 3600 * 1000 ).getTime() / 1000 console.log(timestamp)
當天的30天前的0點時間戳:
const timestamp = new Date( new Date(new Date().toLocaleDateString()).getTime() - 30 * 24 * 3600 * 1000 ).getTime() / 1000 console.log(timestamp)
在線時間戳轉換工具:https://www.matools.com/timestamp
將時間戳轉換為Y-m-d H:i:s格式:
export function timestampToTime(timestamp) { const date = new Date(timestamp * 1000) // 時間戳為10位需*1000,時間戳為13位的話不需乘1000 const year = date.getFullYear() const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1 const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate() const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours() const minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes() const seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds() return ( year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds ) }
FunGetDateStr: function (p_count) { var dd = new Date(); dd.setDate(dd.getDate() + p_count);//獲取p_count天后的日期 var y = dd.getFullYear(); var m = dd.getMonth() + 1;//獲取當前月份的日期 if( m <10){ m = '0'+m; } var d = dd.getDate(); if( d <10){ d = '0'+d; } return y + "-" + m + "-" + d; } var three = dates.FunGetDateStr(-3); $("#starttime").val(three);
獲取距離當前時間12小時的每個時間段
["07:08", "08:08", "09:08", "10:08", "11:08", "12:08", "13:08", "14:08", "15:08", "16:08", "17:08", "18:08"]
// 需引入moment.js
// 獲取當前時間的前12個小時的日期數組 export function getHoursArr() { const arr = [] for (let i = 0; i < 12; i++) { const unix = new Date(new Date().getTime() - i * 60 * 60 * 1000) const date = moment(unix).format('HH:mm') arr.push(date) } return arr }
將日期格式2018-09-10 08:00:00轉化為時間戳:
//獲取到的時間 var nowTime = '2018-09-11 13:50:52'; var thisTime = nowTime; thisTime = thisTime.replace(/-/g, '/'); var time = new Date(thisTime); time = time.getTime(); console.log(time); // 1536645052000
JS 日期格式和時間戳相互轉化:
1. 將時間戳轉換成日期格式:
function timestampToTime(timestamp) { var date = new Date(timestamp * 1000);//時間戳為10位需*1000,時間戳為13位的話不需乘1000 var Y = date.getFullYear() + '-'; var M = padding0(date.getMonth()+1,2)+ '-'; var D = padding0(date.getDate(),2)+ ' '; var h = padding0(date.getHours(),2) + ':'; var m = padding0(date.getMinutes(),2) + ':'; var s = padding0(date.getSeconds(),2); return Y+M+D+h+m+s; } timestampToTime(1561040280); console.log(timestampToTime(1561040280));//2019-06-17 22:18:54
注意:如果是Unix時間戳記得乘以1000。比如:PHP函數time()獲得的時間戳就要乘以1000。
(padding0方法是數字前填充0 詳見:https://blog.csdn.net/qq_29483485/article/details/81458856)
2、將日期格式轉換成時間戳:
function getUnixTime(dateStr){ var newstr = dateStr.replace(/-/g,'/'); var date = new Date(newstr); var time_str = date.getTime().toString(); return time_str.substr(0, 10); } getUnixTime('2019-06-17 23:11:54'); console.log(getUnixTime('2019-06-17 23:11:54'));//1560784314
獲得距離一個時間點偏移的時間點:
獲得時間戳 - 偏移的時間戳:
比如獲得距離當前11小時的時間戳:
const timeStamp = new Date().getTime() - 11 * 60 * 60 * 1000
轉換成10位的字符串:
const timeStamp = (new Date().getTime() - 11 * 60 * 60 * 1000 + '').substr(0, 10)
距離當前 50分鍾的時間戳:
const timeStamp = new Date().getTime() - 50 * 60 * 1000