如何不导入库将毫秒数转换为日期时间?附date.js实现示例
不依赖外部库实现毫秒数转指定格式日期时间
没问题!我们可以直接借助JavaScript原生的Date对象来完成这个转换,完全不需要依赖date.js这类第三方库。原生Date提供了一系列获取日期时间各个部分的方法,我们只需要把这些部分按你想要的格式拼接起来就行,还要注意处理补零的问题(比如1月要显示为01,7分钟要显示为07)。
实现步骤与代码
首先,我们需要一个简单的辅助函数来处理数字补零——当数字小于10时,在前面添加一个0:
function padZero(num) { return num < 10 ? `0${num}` : num; }
然后,编写核心的转换函数,利用原生Date的方法获取年、月、日、时、分、秒,并按格式拼接:
function convertDate(mili) { const date = new Date(mili); // 获取四位年份 const year = date.getFullYear(); // 月份从0开始,需加1后补零 const month = padZero(date.getMonth() + 1); // 获取日期并补零 const day = padZero(date.getDate()); // 获取小时并补零 const hours = padZero(date.getHours()); // 获取分钟并补零 const minutes = padZero(date.getMinutes()); // 获取秒数并补零 const seconds = padZero(date.getSeconds()); // 按目标格式拼接结果 return `${year}-${month}-${day} ( ${hours}:${minutes}:${seconds} )`; }
测试验证
调用convertDate(1515395248000),会得到和你用date.js完全一致的结果:
2018-01-08 ( 14:07:28 )
补充说明
- 原生
Date的getMonth()方法返回0-11的数字,所以必须加1才能得到正确的月份 - 补零操作是为了确保日期时间的各个部分都保持两位数字的格式,和你想要的输出样式匹配
- 这个实现完全基于JavaScript原生API,在所有现代浏览器和Node.js环境中都能正常运行
内容的提问来源于stack exchange,提问作者Nguyenhuyen_AG
相关产品推荐
相关产品推荐

