时间有几种格式、相互之间如何转换?

在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);

 

 

 

posted @ 2024-11-22 18:02  没心没肺没人性  阅读(27)  评论(0编辑  收藏  举报