前端时间格式转化

前言

前端开发中,经常会使用到时间的转化功能,比如:yyyy-mm-dd 或 yyyy-mm-dd hh:ss:mm,等的时间需求。
自我封装的时间组件,记录一下,有什么不妥的的地方多多提点意见,共同学习。

直接贴代码


// 调用时,第一个传时间,第二个传返回的格式下面是一种,还可以这样传参 yyyy-MM-dd hh:ss,或 yyyy-MM-dd hh:ss:mm
function formatDate(date,fmt='yyyy-MM-dd') {
	if(date===null)return;
	if(typeof(date) == 'string'||typeof(date) == 'number')date = new Date(date);
	if(/(y+)/.test(fmt)){
		fmt = fmt.replace(RegExp.$1,(date.getFullYear()+'').substr(4-RegExp.$1.length));
	 	let o;
		 if(fmt.includes('h')||fmt.includes('m')||fmt.includes('s')){
		     o ={
		        'M+':date.getMonth() +1,
		        'd+':date.getDate(),
		        'h+':date.getHours(),
		        'm+':date.getMinutes(),
		        's+':date.getSeconds()
		     };
		 }else{
		     o ={
		        'M+':date.getMonth() +1,
		        'd+':date.getDate()
		     };
		 };
		 for(let k in o){
		     if(new RegExp(`(${k})`).test(fmt)){
		         let str = o[k]+'';
		         fmt =fmt.replace(RegExp.$1,(RegExp.$1.length===1)?str:padLeftZero(str));
		     }
		 }
	}
	return fmt;
}
function  padLeftZero(str) { return ('00'+str).substr(str.length); };

获取当前月份1号的年月日

function getOneDay() {
	const date = new Date();
	const year = date.getFullYear();
	let month = date.getMonth() + 1;
	month = (month < 10 ? "0" + month : month);
	return year.toString() + '-' + month.toString() + '-01'
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小袁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值