公历转星期公式,弥补STC8H4K64TL。
/*w=-2c+y+++d-1w%7=星期w:模拟数c:年份前两位y:年份后两位m:月份d:纪日如果月份是1月或2月则年份要减1,月数要加12。*/void xingqi()/*公历转星期函数*/{unsigned char y,m;y=YEAR;m=MONTH;if(m==1|m==2){y=y-1;m=12+m;}zhou=(-35+y+(y/4)+(13*(m+1)/5)+DAY-1)%7;}
挺好的{:4_250:} 我近年都用公式求星期的,主要原因是调整日期的时候不用调星期,方便。 {:hug:} {:4_174:} 我记得年好像有个范围限制的 21cnsound 发表于 2024-3-12 18:03
我记得年好像有个范围限制的
这个没发现呀{:smile:} {:4_250:} 本帖最后由 21cnsound 于 2024-3-13 16:28 编辑
蔡勒公式
def zellers(i16 y, u8 m, u8 d):
if m < 3:
y -= 1
m += 12
return 353 * y + y // 4 - y // 100 + y // 400 + (148 * m - 447) // 5 + d - 295
说明:这里的//是取整运算,C51中对应整数来说用单斜杠即可 21cnsound 发表于 2024-3-13 11:25
蔡勒公式
def zellers(i16 y, u8 m, u8 d):
if m < 3:
{:victory:}
我发的是限21世纪的{:lol:}。懒得打多几句代码了{:lol:}。
话说你那"//"是啥编译器{:lol:}