時間有幾種格式、相互之間如何轉換?

没心没肺没人性發表於2024-11-22

在JavaScript中,時間通常以以下幾種格式表示:

  1. 時間戳(Timestamp):自1970年1月1日00:00:00 UTC以來的毫秒數。這是JavaScript中最常用的時間表示方法。
  2. Date物件:JavaScript內建的Date物件,用於處理日期和時間。
  3. 字串(String):表示日期和時間的字串,可以是ISO 8601格式或其他自定義格式。
  4. 陣列(Array):包含年、月、日、小時、分鐘、秒等元素的陣列,通常用於手動建立日期。

1. 時間戳與Date物件

// 時間戳轉Date物件
let timestamp = Date.now(); // 當前時間的時間戳
let date = new Date(timestamp);
console.log(date);//標準ISO 8601格式Sun Nov 20 2024 10:38:51 GMT+0000 (Coordinated Universal Time)/2024-11-22T09:40:31.780Z
// Date物件轉時間戳
let dateObj = new Date();
let timestampFromDate = dateObj.getTime();
console.log(timestampFromDate);//1732268431784

2. Date物件與字串

// Date物件轉字串
let dateObj = new Date();//2024-11-22T09:46:38.302Z

let dateString = dateObj.toISOString(); // ISO 8601格式
console.log(dateString);//2024-11-22T09:46:38.302Z
// 字串轉Date物件 
let dateStr = "2024-11-20T10:37:21Z"; //或者其他自定義格式的字串格式也可以
let dateFromString
= new Date(dateStr);
console.log(dateFromString);//
2024-11-20T10:37:21.000Z

    

3. 陣列與Date物件

// 陣列轉Date物件 
let dateArray = [2024, 11, 20, 10, 37, 21]; // 年, 月, 日, 時, 分, 秒
let dateFromArray = new Date(...dateArray); //解構陣列轉Date物件
console.log(dateFromArray);//"2024-11-20T10:37:21Z"
// Date物件轉陣列
let dateObj = new Date();
let dateArrayFromDate = [dateObj.getFullYear(), dateObj.getMonth() + 1, dateObj.getDate(), dateObj.getHours(), dateObj.getMinutes(), dateObj.getSeconds()];
console.log(dateArrayFromDate);

 

4. 時間戳與字串


// 時間戳轉字串
let timestamp = Date.now();// 當前時間的時間戳
let dateFromTimestamp = new Date(timestamp);
let dateStringFromTimestamp = dateFromTimestamp.toISOString();
console.log(dateStringFromTimestamp);

// 字串轉時間戳
let dateStr = "2024-11-20T10:37:21Z";
let dateFromString = new Date(dateStr);
let timestampFromString = dateFromString.getTime();
console.log(timestampFromString);

 

相關文章