原生JS获取当前时间并与另一时间比较

这几天制作项目的时候,需要获取当前时间与接口返回的表演时间段做对比并提示用户。

本以为信手拈来,遇到了个小坑,特此铭记!

接口数据形式是这样式儿的。

那么问题就来了:在网上查看资料,根据大佬的一篇文章发现,new Date()方法所传递的参数是有规格限制的:JavaScript中new Date()参数问题 @逐鱼https://blog.csdn.net/Aiyining/article/details/87925443就是因为对这些参数规格之前了解的不够深刻,导致本来流畅愉悦的敲代码环节小小地卡顿了一下~~痛恨知识浅薄的自己~~

new Date() 支持的五种格式我就以汉字形式表述了,以防下次遇到再次卡顿...

1.new Date(“月 日,年 小时:分钟:秒”)

2.new Date("月 日,年")

3.new Date("年,月,日,小时,分钟,秒")

4.new Date("年,月,日")

5.new Date("ms") (PS:这个ms的描述太过详细,想了解的大佬请参考上面链接文章哦~)

常用的就是这五种格式,再对比一下我接收到的数据...明摆坑爹啊!(磨刀霍霍向后台)

所以需要一些小变动

var date = new Date();

var year = date.getFullYear(); //获取当前年份

var mon = date.getMonth() + 1; //获取当前月份
var da = date.getDate(); //获取当前日
let nyr = year + "-" + mon + "-" + da
//var day = date.getDay(); //获取当前星期几
var h = date.getHours(); //获取小时
if(h < 10){
   h = '0' + h;
};
var m = date.getMinutes(); //获取分钟
if(m < 10){
    m = '0' + m;
}
var s = date.getSeconds(); //获取秒
let str = year + '-' + mon + '-' + da + ' ' + h + ':' + m + ':' + s;

获取到当前时间,将其转换成(年-月-日  小时:分钟:秒)的格式(这里的if判断是要将不足两位数的小时和分钟前面加上个零)

        //比较时间
        function MyFormatTime(str) {

           var year = str.split('-')[0];
            var month = str.split('-')[1];
            var date = str.split('-')[2].split(' ')[0];
            var h = str.split('-')[2].split(' ')[1].split(':')[0];
            var m = str.split('-')[2].split(' ')[1].split(':')[1];
            var s = str.split('-')[2].split(' ')[1].split(':')[2];
            return new Date(year, month, date, h, m, s);
        }

再声明一段函数,去操控分割所得到的当前时间

var nowTime = MyFormatTime(str);

 将之前得到的赋给自己设置的变量,即可实现时间比较!

文章仅限参考,如有错误,请各位大佬及时指正或补充。在此拜谢!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值