JavaScript将时间戳转换为日期格式的多种实现方式

作者:工具松鼠时间:2026-10-27 16:57:03浏览:294

本文详细介绍在JavaScript中将Unix时间戳转换为普通日期格式的多种方法。包括使用toLocaleString结合正则替换、substr截取以及手动拼接年月日时分秒等技巧,并提供了处理特殊字符串格式如/Date(...)的解决方案,帮助开发者灵活应对不同场景下的时间显示需求。

JavaScript时间戳转日期格式概述

在JavaScript开发中,经常需要将时间戳转换为易于阅读的普通日期格式,虽然这一需求并非时刻出现,但掌握相关技巧十分必要。


首先介绍第一种实现方式。


方法一:使用toLocaleString与正则替换

具体代码实现如下:

 
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
} 
调用示例:alert(getLocalTime(1293072805));

执行上述代码后的输出结果为:


2010年12月23日 10:53


接下来介绍第二种方法。


方法二:利用substr截取字符串

相关代码如下:

 
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().substr(0,17)}
调用示例:alert(getLocalTime(1293072805));

如果希望得到类似“2010-10-20 10:00:00”这种特定格式的日期字符串,该如何处理呢?


2010-10-20 10:00:00


参考以下代码实现:


方法三:替换年月日字符生成标准格式

具体代码如下:

 
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(/日/g, " ");
} 
调用示例:alert(getLocalTime(1177824835));

此外,还可以采用手动拼接的方式来实现格式化。


方法四:手动拼接Date对象属性

相关代码如下:

 
function formatDate(now) {
var year=now.getYear();
var month=now.getMonth()+1;
var date=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
} 
var d=new Date(1230999938);
alert(formatDate(d));

至此,时间戳格式化的问题已得到解决。


注意事项:处理特殊字符串格式

需要特别注意以下几点:


不要直接将包含“Date(”等字符的字符串传入转换函数,应先进行预处理,这样可以更方便地解决问题。


可以使用replace方法进行字符串替换处理。


具体操作如下:


相关代码示例:

 
replace("/Date(","").replace(")/","");
作者最新文章