在前端开发中,我们经常需要将时间格式从 hh:mm:ss 的字符串形式转换为以秒为单位的数字,或者将以秒为单位的数字转换为 hh:mm:ss 的字符串格式。本文将介绍如何在 JavaScript 中实现这两种转换。
将hh:mm:ss转换为秒数
我们可以使用 JavaScript 内置的 Date
对象来将 hh:mm:ss 字符串格式转换为以秒为单位的数字。具体步骤如下:
- 创建一个
Date
对象,并将其日期部分设为 1970 年 1 月 1 日(因为 Unix 时间戳是基于此时区间计算的)。 - 使用正则表达式提取 hh、mm 和 ss 的值,并调用相应的
setHours()
、setMinutes()
和setSeconds()
方法设置日期对象的时间部分。 - 调用
getTime()
方法获取该日期对象的 Unix 时间戳,然后将其除以 1000 得到以秒为单位的数字。
下面是一个示例代码:
-------- ---------------------- - ----- ---- --- --- - ------------------------------- ----- ---- - --- ---------- -- --- ------------------ -------------------- -------------------- ------ -------------- - ----- - --------------------------------------- -- -- ----
将秒数转换为hh:mm:ss格式
同样地,我们可以使用 Date
对象将以秒为单位的数字转换为 hh:mm:ss 字符串格式。具体步骤如下:
- 创建一个
Date
对象,并将其日期部分设为 1970 年 1 月 1 日。 - 调用
setSeconds()
方法设置该日期对象的秒数值。 - 调用
toLocaleTimeString()
方法获取该日期对象的字符串表示形式,并传入相应的参数设置输出格式。
下面是一个示例代码:
-------- ---------------------- - ----- ---- - --- ---------- -- --- ------------------------- ------ -------------------------------- - --------- ------ ------- ----- --- - --------------------------------- -- -- --------
总结
本文介绍了如何在 JavaScript 中实现将 hh:mm:ss 格式的字符串转换为以秒为单位的数字和将以秒为单位的数字转换为 hh:mm:ss 格式的字符串。这两种转换在前端开发中经常会用到,掌握它们可以让我们更加高效地处理时间相关的任务。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/9630