关于JS编写日历疑问 1.为什么当月总天数+当月一号周几取整=日历的行数 2.图片中id和td的公式

关于JS编写日历疑问 1.为什么当月总天数+当月一号周几取整=日历的行数 2.图片中id和td的公式,第1张

1

为什么当月天数+当月一号周几取整=日历的行数

根据你提的意思就可以算出:假设当月30天,月初星期五,那么如果从30天原本只需要5行就可以搞定,但是第一行确实从星期五开始的,那么就相当于多出了5天,因为原本月初应该是从第一个开始的。

2 公式

var id = i 7 +1;

这个是得到的第几个td 相当于一个序列号,比如

类似这样的一个序号;

var td = id - weekOfFD + 1;// 这里就不太明白了,感觉应该是写错了。

应该是获得上个月的天数,然后根据这个月一号是周几,来判断上个月还有几天没显示完。

var num = 上个月天数 - 该月星期几 - l + 1;

//如果num < 0 ,则从1 开始计算,

num = id - 该月星期几 + 1; 也就是 var td = id - weekOfFD + 1;;//获得该td的值。

<script>

function tab(dayNum){

var oDate = new Date();   //获取当前时间

var dayArr = [oDate];     //定义一个数组存储所以时间

for(var i=0;i<dayNum;i++){

dayArrpush(new Date(oDategetFullYear(),oDategetMonth(),oDategetDate() + i));   //把未来几天的时间放到数组里

}

return dayArr;   //返回一个数组。

}

alert(tab(5));  //函数调用。

</script>

// 获取当前时间时间戳

var currentTime = Datenow();

// 获取指定时间时间戳

// 注1:这里写的是2012年9月1日0时0分0秒

// 注2:Javascript中月份是实际数字减1

var targetTime = (new Date(2012, 8, 1, 0, 0, 0))getTime();

// 获取差值,如果指定日期早于现在,则为负数

var offsetTime = targetTime - currentTime;

// 求绝对值,获取相差的时间

offsetTime = Mathabs(offsetTime);

// 将时间转位天数

// 注:Javascript中时间戳的单位是毫秒

var offsetDays = Mathfloor(offsetTime / (3600  24  1e3));

可以写成通用的方法:

function getOffsetDays(time1, time2) {

    var offsetTime = Mathabs(time1 - time2);

    return Mathfloor(offsetTime / (3600  24  1e3));

}

// 获取相隔天数

getOffsetDays(Datenow(), (new Date(2012, 8, 1))getTime());

以上就是关于关于JS编写日历疑问 1.为什么当月总天数+当月一号周几取整=日历的行数 2.图片中id和td的公式全部的内容,包括:关于JS编写日历疑问 1.为什么当月总天数+当月一号周几取整=日历的行数 2.图片中id和td的公式、js获取当前时间以及未来一星期(或者可以规定天数)的时间、js怎么输出当前日期和指定日期的相隔天数谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9699382.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存