📅  最后修改于: 2023-12-03 15:39:19.499000             🧑  作者: Mango
在前端开发的过程中,我们经常需要将从后端接收到的时间戳(毫秒)转换为我们人类易读的时间格式。Javascript 作为一门重要的前端语言,有着非常便利的时间处理函数库,下面就来介绍一下常用的毫秒转换为时间的方法。
可以通过创建新的日期对象并设置其毫秒值来将毫秒转换为时间。然后使用该对象的 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 是一个流行的 Javascript 时间处理库。它提供了各种各样的时间格式化选项,可轻松处理时间。以下是一个将毫秒转换为小时和分钟的例子:
function formatTime(millisec) {
var duration = moment.duration(millisec);
return duration.hours() + ':' + duration.minutes();
}
Moment.js 提供了可自定义的时间格式,例如 “D 天,h 小时,m 分钟,s 秒”,以及 20 种以上的本地化格式。如果需要对时间进行更多详细的操作,建议使用 Moment.js。
以上是三种常用的方法。根据实际需求选择适合自己的方法即可。