js统计今天是一年中的第几天,下方代码是怎么实现的,有大佬可以详细说下吗?

JavaScript022

js统计今天是一年中的第几天,下方代码是怎么实现的,有大佬可以详细说下吗?,第1张

这段代码,就是先统计当年1月到上一月的天数总和,然后再加上今天在这个月的天数,最后结果不就是今天在一年中的总天数吗?

d.setDate(0)这是把日设为0,而0比1小,那就是指上一个月的最后一日, 然后 sum += d.getDate() 就是取上一个月的总天数再累加到sum中。

将两个日期转换成毫秒,然后相减,再计算出天数

var date1 = new Date('2016/12/31').getTime(),

date2 = new Date().getTime()

var diff = date2 - date1//相差的毫秒数

var day = diff / 1000//相差秒数

day = day / 60//相差分钟数

day = day / 60//相差小时数

day = day / 24//相差天数

简写成

day = diff / 1000 / 60 / 60 / 24

现在这个day可能是小数,因为可能还会多几个小时。可以求下整数:

day = Math.floor(diff / 1000 / 60 / 60 / 24)

算法和逻辑关系,应该都没有正确,问题有二

1.isRunNian函数,最后缺少return,没有return,后面调用的时候,在if判断中,应该会报错。

2.按照你写的顺序,在js代码中,定义几个变量,两个函数,但是,缺少调用getdays方法的代码,在最后一行alert中调用一下应该就可以了。