JavaScript将Long型时间戳转换为Date或DateTime格式的方法
本文介绍如何在JavaScript中将数据库返回的Long型时间戳转换为前端可读的Date或DateTime格式。通过封装dateFormat和datetimeFormat函数,实现yyyy-MM-dd及yyyy-MM-dd HH:mm:ss格式的精确输出,解决前后端交互中的日期显示问题。
Long型时间戳转换背景
数据库中存储的日期通常分为两种类型:一种是date型,格式为yyyy-MM-dd;另一种是datetime型,格式为yyyy-MM-dd 00:00:00。当Java后端程序将数据库中的日期数据传递给前端时,如果后端没有专门处理日期的方法,这些日期数据通常会以Long型数值的形式传输到前端。例如:
假设数据库中存储的日期为:2017-01-06 20:30:00
前端通过ajax交互获取到的日期格式则表现为:1483705800000
为了在前端页面中正确显示日期格式,需要进行相应的转换处理。
以下是将Long型数据转换为Date型或DateTime型日期格式的JavaScript方法示例:
第一种方法,返回yyyy-MM-dd格式的日期(一):
日期格式转换方法
function dateFormat_1(longTypeDate){
var dateType = "";
var date = new Date();
date.setTime(longTypeDate);
dateType += date.getFullYear(); //年
dateType += "-" + getMonth(date); //月
dateType += "-" + getDay(date); //日
return dateType;
}
//返回 01-12 的月份值
function getMonth(date){
var month = "";
month = date.getMonth() + 1; //getMonth()得到的月份是0-11
if(month<10){
month = "0" + month;
}
return month;
}
//返回01-30的日期
function getDay(date){
var day = "";
day = date.getDate();
if(day<10){
day = "0" + day;
}
return day;
}
第二种方法,返回yyyy-MM-dd格式的日期(二):
function dateFormat_2(longTypeDate){
var dateType = "";
var date = new Date();
date.setTime(longTypeDate);
dateType = date.getFullYear()+"-"+getMonth(date)+"-"+getDay(date);//yyyy-MM-dd格式日期
return dateType;
}
第一种方法,返回yyyy-MM-dd 00:00:00格式的日期:
function datetimeFormat_1(longTypeDate){
var datetimeType = "";
var date = new Date();
date.setTime(longTypeDate);
datetimeType+= date.getFullYear(); //年
datetimeType+= "-" + getMonth(date); //月
datetimeType += "-" + getDay(date); //日
datetimeType+= " " + getHours(date); //时
datetimeType+= ":" + getMinutes(date); //分
datetimeType+= ":" + getSeconds(date); //分
return datetimeType;
}
//返回 01-12 的月份值
function getMonth(date){
var month = "";
month = date.getMonth() + 1; //getMonth()得到的月份是0-11
if(month<10){
month = "0" + month;
}
return month;
}
//返回01-30的日期
function getDay(date){
var day = "";
day = date.getDate();
if(day<10){
day = "0" + day;
}
return day;
}
//返回小时
function getHours(date){
var hours = "";
hours = date.getHours();
if(hours<10){
hours = "0" + hours;
}
return hours;
}
//返回分
function getMinutes(date){
var minute = "";
minute = date.getMinutes();
if(minute<10){
minute = "0" + minute;
}
return minute;
}
//返回秒
function getSeconds(date){
var second = "";
second = date.getSeconds();
if(second<10){
second = "0" + second;
}
return second;
}
第二种方法,返回yyyy-MM-dd 00:00:00格式的日期:
function datetimeFormat_2(longTypeDate){
var datetimeType = "";
var date = new Date();
date.setTime(longTypeDate);
datetimeType = date.getFullYear()+"-"+getMonth(date)+"-"+getDay(date)+" "+getHours(date)+":"+getMinutes(date)+":"+getSeconds(date);//yyyy-MM-dd 00:00:00格式日期
return datetimeType;
}
调用上述方法的示例如下:
执行datetimeFormat_1(1483705800000);
最终得到的结果为:2017-01-06 20:30:00
以上即为使用JavaScript将Long型数据转换为Date型或DateTime型的完整实例分享,希望能为读者提供参考,并欢迎大家继续支持本站。
JS空字符串、null和undefined转数字的结果是什么
2026-11-05 14:49:16
CodePen、JSFiddle与StackBlitz:主流JS在线编辑器对比
2026-11-05 13:38:29
JS怎么将时间戳转换为“刚刚”、“几分钟前”等相对时间
2026-11-05 12:55:14
JavaScript将儒略日逆向还原为公历日期时间的实现方法
2026-11-04 23:51:05
能在我的世界手机版直接修改JS代码吗
2026-11-04 19:02:53
