js检测时间函数

8 篇文章 0 订阅
2 篇文章 0 订阅

前端token需要每两个小时刷新一次。就用到了时间判断格式。需要js对时间对象有一定的了解,写项目用到了两种格式的解析方式。

先上函数代码

第一种相对简单,传入时间格式为标准格式:Wed, 01 Jan 2020 00:00:00 GMT

function check(time) {
	var time1 = new Date(time) //这个格式直接传入对象就好。
	var date2=new Date();
	return date2.getTime()-time1.getTime()-(1000*60*60)<0?'unoverdue':'overdue';
}

第二种传入的时间格式 2020-1-1

function check(time) {
	time = time.replace(/-/g,':').replace(' ',':');  
	time = time.split(':');
	var time1 = new Date(time[0],(time[1]-1),time[2],time[3],time[4]); //这以上都是解析2019-1-1这个时间格式的代码
	var date2=new Date();
	return date2.getTime()-time1.getTime()-(1000*60*60)<0?'unoverdue':'overdue'; //判断是否超过两个小时。
}
js中的时间对象部分知识点

知识点引用链接 javascript 标准参考教程(alpha) -阮一峰

之后的零点都是指1970年一月一日零时零分零秒

Date对象在js里是按毫秒计算的。可以表示1970年1月1日前后一亿天

  • 把Date当普通函数用时,Date(),返回的是当前时间,就算带着时间参数也是一样的。
    在这里插入图片描述
  • 把Date当作构造函数时,new Date(),可以带时间参数,会将时间解析为当前时区时间。
    在这里插入图片描述
    1. 第一种可以带入负数,表示1970年元旦前的时间。
    2. 第二种表示方法只要可以被Date.parse()解析的时间都可以带入:
    3. 最后一个使用方法顺序为。年,月,日,时,分,秒。月的表示从零开始。这些参数如果超过了正常范围,会自动折算
  • 日期的运算
    如果两个时间静态实例对象相加,是两个字符串的相加;如果两个时间静态实例对象相减,是两个时间毫秒数相减。
  • 静态方法
    1. Date.now()返回距离零点的当前毫秒数。
    2. Date.parse()解析时间字符串,返回距离零点的毫秒数。日期字符串按理说应该符合RFC 2822 和 ISO 8061(即YYYY-MM-DDTHH:mm:ss.sssZ),一般正常的时间字符串都可以解析,但如果不能解析或解析错误会返回NAN。
    3. Date.UTC()接受年、月、日等变量作为参数,同样返回距零点的毫秒数。会将时间解析为世界标准时间。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AtalantaDavis

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

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

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

打赏作者

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

抵扣说明:

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

余额充值