js—对时间戳进行格式化函数
在我们写项目时,前端难免会使用到时间戳数据,那么该如何将时间戳转换成我们想要的时间格式呢,下面该文章是我使用简单的语句封装的函数方法,用于进行对时间戳格式化,方便初学者进行理解与使用。
- 若项目需要经常对时间戳数据进行格式化 ,建议将格式化代码封装成一个函数方法和js文件,方便其他页面调用;
- 该方法仅适合单一性格式化,并不能多样式的进行时间格式化;
//格式化时间
//dateTime:时间戳; flag:取值为true/false,用于判断是否需要显示时分秒
function getFormtTime(dateTime,flag) {
if(dateTime != null ) {
//若传入的dateTime为字符串类型,需要进行转换成数值,若不是无需下面注释代码
//var time = parseInt(dateTime)
var date = new Date(time);
//获取年份
var YY = date.getFullYear();
//获取月份
var MM = (date.getMonth() + 1 < 10 ? '0'+(date.getMonth() + 1) : date.getMonth() + 1);
//获取日期
var DD = (date.getDate() < 10 ? '0'+date.getDate() : date.getDate());
if(flag) { //flag为true,显示时分秒格式
//获取小时
var hh = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours());
//获取分
var mm = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes());
///获取秒
var ss = (date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds());
//返回时间格式: 2020-11-09 13:14:52
return YY + '-' + MM + '-' + DD + ' ' + hh + ':' + mm + ':' + ss;
} else {
//返回时间格式: 2020-11-09
return YY + '-' + MM + '-' + DD;
}
} else {
return "";
}
}
【解释】
- 获取月份时,需要+1: 即 date.getMonth() + 1
- var DD = (date.getDate() < 10 ? ‘0’+date.getDate() : date.getDate()); 此处使用三目运算符进行判断是因为:date.getDate()获取的是日,若结果是一位数,即1~9号,会输出1,2…8,9,因此为了保证格式统一,需要进行判断,小于10号,要在前面+0,确保变成两位数,即 01,02,…08,09,其他的如此类推
- 若需要其他时间格式: 如 2020/11/09 等样式,只需要把 return 处的 ‘-’ 改为 ‘/’,其他样式如此类推。
- 该方法适用于毫秒时间戳
【注意】
该方法使用简单方法进行封装,适合于初学者学习理解与运用,若对时间格式化样式要求不高,可以使用该函数方法对时间戳进行格式化,调用格式如下:
现有时间:2020-11-09 13:14:52,其时间戳为1604898892000 (注意:这是毫秒时间戳)
//方法调用
//方式一:
//显示年-月-日 时:分:秒 格式
var shijianchuo = 1604898892000;
var nowDate = getFormtTime(shijianchuo, true);
//控制台输出
console.log(nowDate);
//页面控制台输出:2020-11-09 13:14:52
//方式二:
//显示年-月-日 时:分:秒 格式
var shijianchuo = 1604898892000;
var nowDate = getFormtTime(shijianchuo, false);
//控制台输出
console.log(nowDate);
//页面控制台输出:2020-11-09
希望该文章对各位有用,有用别忘记点个赞,谢谢!