今天跟昨天是今年跟去年,JS如何判断?

比如今天是2018年1月1号,昨天是去年的最后一天,JS怎么判断啊

阅读 6.3k
5 个回答

。。。
获取今天的月日,如果今天的月 = 1 今天的日 = 1,则今天跟昨天是今年跟去年啊

var today = '2017-12-21';
var date = new Date(today);
if(date.getDate() == 1 && date.getMonth() == 0)
{
    console.log("今天跟昨天是今年跟去年");
}else{
    console.log("今天跟昨天不是今年跟去年");
}

new Date() 如果今天是一月一号不就成了

getYear判断两个值不相等就是跨年了

这个判断天的,其实还是比较简单的,只要获取到今天是1月1号就行了,麻烦的是这一秒和前一秒,或者这分钟和前一分钟,这个小时和前一小时 等等,就必须要更多计算了

var now = new Date ();
var b1s = new Date(now - 1*1000); // 1秒前
var b1m = new Date(now - 60*1000); // 1分钟前
var b1h = new Date(now -60*60*1000);// 1小时前
if (b1s.getYear() != now.getYear() ){
...
}

其实对时间的处理有很多种方法,个人感觉核心就是讲各种不同的时间装换成时间戳,然后时间戳进行差值,最后进行格式的转换,便可以得到相差的具体时间,还会有一种比较简单但是繁琐的方法,类似印度人写代码的习惯,直接截取时间中的年月日,进行层级的判断处理,最后得到,结果,其实我最想推荐的是moment的使用,moment是专门对时间己进行处理的一个插件,可以比较轻松的格式化以及,时间比较

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题