📌  相关文章
📜  如何使用 JavaScript 将秒转换为时间字符串格式 hh:mm:ss?

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

如何使用 JavaScript 将秒转换为时间字符串格式 hh:mm:ss?

给定一个以秒为单位的时间,任务是将时间转换为字符串格式 hh:mm:ss。有两种方法可以解决这个问题:

方法 1:将秒传递给日期对象

  • Date()构造函数需要一个 UNIX 时间戳作为它的一种形式。 UNIX 时间戳是自纪元时间(1970 年 1 月 1 日 00:00:00 UTC)以来经过的毫秒数。在将其转换为毫秒后,可以将秒数提供给此构造函数。
  • 以秒为单位的时间通过乘以1000转换为以毫秒为单位的时间。这被传递给Date()构造函数。然后可以使用创建的 Date 对象来访问格式所需的小时、分钟和秒。
  • 小时值是使用getUTCHours()方法从日期中提取的。使用getUTCMinutes()方法从日期中提取 UTC分钟值。值是使用getSeconds()方法从日期中提取的。
  • 最终格式化日期是通过使用toString()方法将这些值中的每一个转换为字符串,然后使用额外的 '0'填充它们来创建的,如果值是单个数字,则使用padStart()方法。然后将各个部分用冒号(:) 作为分隔符连接在一起。该字符串采用所需的格式“hh:mm:ss”

句法:

dateObj = new Date(given_seconds * 1000);
hours = dateObj.getUTCHours();
minutes = dateObj.getUTCMinutes();
seconds = dateObj.getSeconds();

timeString = hours.toString().padStart(2, '0') + ':' + 
    minutes.toString().padStart(2, '0') + ':' + 
    seconds.toString().padStart(2, '0');

例子:



  

    
        How to convert seconds to time string
        format hh:mm:ss using JavaScript ?
    

  

    

        GeeksforGeeks     

                    JavaScript | seconds to time         string with format hh:mm:ss                 

No. of secomds is: 3685

           

        Time in hh:mm:ss is:              

                      

输出:

  • 在点击按钮之前:
    dateObj-之前
  • 点击按钮后:
    dateObj-之后

方法2:分别计算小时、分钟和秒

  • 小时数可以通过将秒数除以3600来计算,因为一小时等于 3600 秒。这将找出小时数。使用Math.floor()函数将此数字降低到最接近的整数。
  • 分钟可以通过找出减去小时数后剩下的秒数来计算。该值除以 60 得到分钟数。使用Math.floor()函数将此数字降低到最接近的整数。
  • 可以通过从之前给出的总秒数中减去分钟值中的秒数和小时值中的秒数来计算秒数。
  • 最终格式化日期是通过使用toString()方法将这些值中的每一个转换为字符串,然后使用额外的 '0'填充它们来创建的,如果值是单个数字,则使用padStart()方法。然后将各个部分用冒号(:) 作为分隔符连接在一起。该字符串采用所需的格式“hh:mm:ss”

句法:

hours = Math.floor(given_seconds / 3600);
minutes = Math.floor((given_seconds - (hours * 3600)) / 60);
seconds = given_seconds - (hours * 3600) - (minutes * 60);

timeString = hours.toString().padStart(2, '0') + ':' + 
      minutes.toString().padStart(2, '0') + ':' + 
      seconds.toString().padStart(2, '0');

例子:



  

    
        How to convert seconds to time string
        format hh:mm:ss using JavaScript ?
    

  

    

        GeeksforGeeks     

                    JavaScript | seconds to time          string with format hh:mm:ss                 

No. of secomds is: 3685

    

        Time in hh:mm:ss is:               

                      

输出:

  • 在点击按钮之前:
    手动之前
  • 点击按钮后:
    手动后