📜  将毫秒转换为时间 javascript (1)

📅  最后修改于: 2023-12-03 15:39:19.499000             🧑  作者: Mango

将毫秒转换为时间Javascript

在前端开发的过程中,我们经常需要将从后端接收到的时间戳(毫秒)转换为我们人类易读的时间格式。Javascript 作为一门重要的前端语言,有着非常便利的时间处理函数库,下面就来介绍一下常用的毫秒转换为时间的方法。

方法一:使用Date函数

可以通过创建新的日期对象并设置其毫秒值来将毫秒转换为时间。然后使用该对象的 toLocaleDateString()toLocaleTimeString() 方法返回日期和时间的字符串形式。

function formatTime(millisec) {
  var date = new Date(millisec);
  return date.toLocaleDateString() + ' ' + date.toLocaleTimeString();
}

该方法有一个缺点,即只能返回本地时间(根据所在时区)。如果需要使用不同的时区,请使用 Moment.js 或其他库。

方法二:手动处理

我们可以使用基本的数学和字符串操作来手动处理时间。以下代码将毫秒转换为 “小时:分钟:秒” 的格式,并添加 “天” 的说明。

function formatTime(millisec) {
  var seconds = (millisec / 1000).toFixed(0);
  var minutes = (millisec / (1000 * 60)).toFixed(0);
  var hours = (millisec / (1000 * 60 * 60)).toFixed(0);
  var days = (millisec / (1000 * 60 * 60 * 24)).toFixed(0);
  if (seconds < 60) {
      return seconds + ' 秒';
  } else if (minutes < 60) {
      return minutes + ' 分钟';
  } else if (hours < 24) {
      return hours + ' 小时';
  } else {
      return days + ' 天';
  }
}

这种方法的好处是简单易懂,不需要引入任何其他类库,但它只能返回相对简单的时间格式。

方法三:使用Moment.js

Moment.js 是一个流行的 Javascript 时间处理库。它提供了各种各样的时间格式化选项,可轻松处理时间。以下是一个将毫秒转换为小时和分钟的例子:

function formatTime(millisec) {
  var duration = moment.duration(millisec);
  return duration.hours() + ':' + duration.minutes();
}

Moment.js 提供了可自定义的时间格式,例如 “D 天,h 小时,m 分钟,s 秒”,以及 20 种以上的本地化格式。如果需要对时间进行更多详细的操作,建议使用 Moment.js。

以上是三种常用的方法。根据实际需求选择适合自己的方法即可。