1、在我們需要進行時間比較時,獲取的是字符串形式的時間,需要和時間格式進行比較。這時候我們需要將時間兩種形式都轉換爲時間戳來進行比較。
具體時間戳怎麼定義的我也不清楚,但百度百科中有這麼一句:“時間戳是自 1970 年 1 月 1 日(00:00:00 GMT)至當前時間的總秒數”。
按這個定義,編程語言中倒是有一種類似的函數,getTime(),但這個函數返回的是自1970年1月1日到當前時間的總 毫秒數 ,而不是總 和。
2、下面是我的方法調用
這段代碼的目的是將傳入時間(字符串形式)與今天日期進行比較,如果大於今天,則傳入今天時間,不然則傳入傳入日期,進行比較的都是已經轉換爲時間戳形式
// 時間格式轉換
dataFormat(date) {
// today: Date.now(), // 今天日期
const { today } = this.state; // 今天時間戳
const todayTime = moment().format('YYYY-MM-DD'); // 今天字符串
const dateFormat = date.replace(/-/g, '/'); // 將 - 轉爲 / // 將-替換成/,因爲下面這個構造函數只支持/分隔的日期字符串
const newDateFormat = Date.parse(dateFormat); // 轉爲時間戳形式
const newDate = newDateFormat > today ? todayTime : date; // 得到字符串
return newDate;
}