📌  相关文章
📜  如何在 JavaScript 中将 Unix 时间戳转换为时间?

📅  最后修改于: 2022-05-13 01:56:35.968000             🧑  作者: Mango

如何在 JavaScript 中将 Unix 时间戳转换为时间?

可以使用 2 种方法将 UNIX 时间戳转换为时间:

方法一:使用 toUTCString() 方法:
由于 JavaScript 以毫秒为单位工作,因此需要在转换之前将时间乘以 1000 将其转换为毫秒。然后将该值提供给Date()函数以创建新的 Date 对象。

toUTCString()方法用于将 Date 对象表示为 UTC 时间格式的字符串。从这个日期字符串的时间可以通过从字符串的第 11 个到最后一个到第 4 个到最后一个字符的提取来找到。这是使用slice()函数提取的。此字符串是 UNIX 时间戳的时间表示。

句法:

dateObj = new Date(unixTimestamp * 1000);
utcString = dateObj.toUTCString();
time = utcString.slice(-11, -4);

例子:



  

    
      How to convert Unix timestamp
      to time in JavaScript?
  

  

    

      GeeksforGeeks   

           How to convert Unix        timestamp to time in JavaScript?        

      UNIX Timestamp is: 10637282   

    

Time is:          

               

输出:

  • 在点击按钮之前:
    toUTC-之前
  • 点击按钮后:
    到UTC之后

方法 2:获取单独的小时、分钟和秒
由于 JavaScript 以毫秒为单位工作,因此需要在转换之前将时间乘以 1000 将其转换为毫秒。然后将该值提供给Date()函数以创建新的 Date 对象。

时间的每一部分都是从 Date 对象中提取的。使用getUTCHours()方法从日期中提取 UTC 小时值。使用getUTCMinutes()方法从日期中提取 UTC 分钟值。 UTC 中的秒值是使用getUTCSeconds()方法从日期中提取的。

最终格式化日期是通过使用toString()方法将这些值中的每一个转换为字符串,然后使用额外的 '0' 填充它们来创建的,如果值是单个数字,则使用padStart()方法。然后将各个部分用冒号(:) 作为分隔符连接在一起。此字符串是 UNIX 时间戳的时间表示。

句法:

dateObj = new Date(unixTimestamp * 1000);
 
// Get hours from the timestamp
hours = dateObj.getUTCHours();
 
// Get minutes part from the timestamp
minutes = dateObj.getUTCMinutes();
 
// Get seconds part from the timestamp
seconds = dateObj.getUTCSeconds();
 
formattedTime = hours.toString().padStart(2, '0') + ':' + 
                minutes.toString().padStart(2, '0') + ':' + 
                seconds.toString().padStart(2, '0');

例子:



  

    
      How to convert Unix timestamp 
      to time in JavaScript?
  

  

    

      GeeksforGeeks   

           How to convert Unix timestamp       to time in JavaScript?        

UNIX Timestamp is: 10637282

    

Time is:          

               

输出:

  • 在点击按钮之前:
    分开之前
  • 点击按钮后:
    分开后