JavaScript--对时间戳进行格式化

js—对时间戳进行格式化函数

在我们写项目时,前端难免会使用到时间戳数据,那么该如何将时间戳转换成我们想要的时间格式呢,下面该文章是我使用简单的语句封装的函数方法,用于进行对时间戳格式化,方便初学者进行理解与使用。

  1. 若项目需要经常对时间戳数据进行格式化 ,建议将格式化代码封装成一个函数方法和js文件,方便其他页面调用;
  2. 该方法仅适合单一性格式化,并不能多样式的进行时间格式化;
	//格式化时间
	//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. 获取月份时,需要+1: 即 date.getMonth() + 1
  2. var DD = (date.getDate() < 10 ? ‘0’+date.getDate() : date.getDate()); 此处使用三目运算符进行判断是因为:date.getDate()获取的是日,若结果是一位数,即1~9号,会输出1,2…8,9,因此为了保证格式统一,需要进行判断,小于10号,要在前面+0,确保变成两位数,即 01,02,…08,09,其他的如此类推
  3. 若需要其他时间格式: 如 2020/11/09 等样式,只需要把 return 处的 ‘-’ 改为 ‘/’,其他样式如此类推。
  4. 该方法适用于毫秒时间戳

【注意】

该方法使用简单方法进行封装,适合于初学者学习理解与运用,若对时间格式化样式要求不高,可以使用该函数方法对时间戳进行格式化,调用格式如下:


现有时间: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



希望该文章对各位有用,有用别忘记点个赞,谢谢!

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值