js-时间处理

在实际的业务操作中,我们前端开发通常都是接收后端的数据显示在界面上。而从后端传入的时间格式,通常有date对象和字符串对象两种。
需要进行时间处理转换等操作的,无非就是两种情况。
接收后端时间数据在前端存储(有可能后端传入的是String类型的时间,或者是date类型的时间,我们可以按照自己的需求在前端进行存储)
把前端存储的数据显示在界面上。
下面对这两中情况来进行讲解,我们在前端开发中经常会遇到的对时间的操作。通常也就下面两种类型转换用得比较多:
date->String如下:

//不足10的数据需要补0
addzero(str){
	return str<10?'0'+str:str
}
//date->String 获取日期
getStringToDate(date){
	return date.getFullYear()+'-'+this.addZero(date.getMonth()+1)+'-'+this.addZero(date.getDate())
}
//date->String 获取时间
getStringToTime(date){
	return this.addZero(date.getHours())+':'+this.addZero(date.getMinutes())+':'+this.addZero(date.getSeconds())
}

String->date如下:

//方法1
let date = new Date(年,月,日,时,分,秒)//参数均为number类型,需要了解字符串切割的,可以看看其它文章
//方法2 
//并不是很建议这种方法。因为parse对字符串的格式有要求,不能应对String格式的变化。
//某些格式String无法进行这种方法转换。
let time=Date.parse("时间的字符串")
let date=new Date(time)

另外还有一种需求:就算相对时间
就是获取到指定时间的date类型相对于多少天的时间对象,这里我看过很多文章,但是目前就发现一种方法比较简单。
比如我要获取到20220928一个月前的日期

getMyDate(){
	//这里可以使用时间戳。以前对此不是没有研究,发现弄懂后,真的很简单。
	let date = new Date()//构造函数为空,默认获取系统时间的date对象
	//date.getTime()是获取到19700101到当前时间的毫秒数。等同于相对19700101,把时间对象转换成了一个number对象
	//减去时间戳,30天对应的毫秒数。一天24h,一小时60min,一分钟60s,1秒就是1000ms。就可以得到对应的时间。
	//先前以为需要写算法之类,还要判断闰年什么的,用这个找相对时间非常简单。
	return  new Date(date.getTime()-30*24*60*60*1000)
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值