这个是干嘛的· void Conver_week(uchar year,uchar month,uchar day) {//c=0 为21世纪,c=1 为19世纪 输入输出数据均为BCD数据 uchar p1,p2; year+=0x64; //如果为21世纪,年份数加100 p1=year/0x4; //所过闰年数只算1900年之后的 p2=year+p1; p2=p2%0x7; //为节省资源,先进行一次取余,避免数大于0xff,避免使用整型数据 p2=p2+day+table_week[month-1]; if (year%0x4==0&&month<3)p2-=1; week=p2%0x7; }
时间: 2024-04-22 17:28:31 浏览: 80
ENVI_Data_Conver_envi_BSQ/BIL/BIP转换_bsq,bil_高光谱_数据格式转换_
5星 · 资源好评率100%
这段代码是将输入的公历日期转换为星期几,输出的星期几用数字表示(0代表星期日,1代表星期一,以此类推)。首先将输入的年份加上100,以便区分19世纪和20世纪。然后计算从1900年1月1日到输入日期之前的闰年数,其中只计算1900年之后的闰年。接着将年份和闰年数相加,并将结果对7取余,再加上输入的日期和从1900年1月1日到输入日期之前的天数(即table_week[month-1]),得到一个数值。最后根据该数值对7取余,得到星期几的数字表示。
阅读全文