js利用日期和时间戳转换实现时间的对比

起因

最近项目涉及到了一个有效时间的判断的需求。由于数据库存储的不是时间戳,而是一个如下格式的时间:

2020-06-16 10:12:44

所以,当这个时间直接传递到了前端的时候,进行一个时间的对比会变得比较麻烦。(注:由于dto里面的time变量是Date类型,所以我也无法后台转化为时间戳,再返回给前端。而添加一个新的变量保存时间戳,我又觉得没有必要,这样势必涉及到了类的修改,开闭原则,写好的部分尽量不要再去修改了。)所以,我去查了一下怎么用js实现当前时间于上面那种格式的字符串(后端传递过来就变成了字符串了)进行对比。

代码

可以用如下的js代码:

        var onlineTime = $(某个id).attr("onlineTime");//这个意思是:由于使用的是thymeleaf,所以我将后端的数据绑定在了某个id对应的元素中,并且是以元素的attr的方式,绑定了属性。所以,js代码中要获得这个属性,我要通过这种方式。如果你的是ajax之类的直接返回的数据,那么,你直接比较就好了,不需要像我这样子获得时间(此时是字符串类型)。
        var offlineTime = $(某个id).attr("offlineTime");//同上,这个是有效时间的结束时间。
        var onlineTimeStamp = Date.parse(new Date(onlineTime)); //将时间由日期格式转化为时间戳与(1970年1月1日0点对比的时间差)
        var offlineTimeStamp = Date.parse(new Date(offlineTime));//同上
        var nowTimeStamp = new Date().getTime();//获得当前时间的时间戳、

		 if(offlineTimeStamp != 0 && offlineTimeStamp<nowTimeStamp){ //直接比较即可。
                alert("已过期,请修改对应有效时间");
                return;
            }
           

上面涉及的变量的数值如下所示:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值