21cnsound 发表于 2024-3-13 14:39:05

萌芽MENGYA 发表于 2024-3-13 14:10
我发的是限21世纪的。懒得打多几句代码了。

话说你那"//"是啥编译器

//取整运算
C51中是单斜杠{:titter:}

萌芽MENGYA 发表于 2024-3-13 16:01:43

21cnsound 发表于 2024-3-13 14:39
//取整运算
C51中是单斜杠

//你注释了本行{:lol:}

21cnsound 发表于 2024-3-13 16:31:12

萌芽MENGYA 发表于 2024-3-13 16:01
//你注释了本行

{:4_244:}

萌芽MENGYA 发表于 2024-3-24 11:18:29

谢谢管理员赞赏的小花{:lol:}

yjawei 发表于 2024-3-25 23:13:19

泰勒公式,EPSON的 R8025T RTC芯片datasheet里面有详细的介绍。

萌芽MENGYA 发表于 2024-3-26 11:37:02

yjawei 发表于 2024-3-25 23:13
泰勒公式,EPSON的 R8025T RTC芯片datasheet里面有详细的介绍。

{:smile:}

mozh 发表于 2024-5-2 11:38:42

{:4_250:}

cnos 发表于 2024-6-11 11:25:06

菜农hotpower 对这个有深入研究。可百度了解。他自己还搞了个网址。
http://www.hotcrc.com/
星期公式:
                                str += "        switch(weeksele)\n";
                                str += "        {\n";
                                str += "                case 0:\n";
                                str += "                        /*\n";
                                str += "                       菜农星期公式\n";
                                str += "                       星期=(百年%4*5+年+年/4+(13*月+8)/5+日)%7\n";
                                str += "                       */\n";
                                str += "                        week = ((century & 3) * 5 + year + (year >> 2) + Math.floor((13 * month + 8) / 5) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "                case 1:\n";
                                str += "                        /*\n";
                                str += "                       蔡勒星期公式\n";
                                str += "                       星期=(203+百年/4-2*百年+年+年/4+(13*月+8)/5+日)%7\n";
                                str += "                       */\n";
                                str += "                        week = (203 + Math.floor(century / 4) - 2 * century + year + (year >> 2) + Math.floor((13 * month + 8) / 5) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "                case 2:\n";
                                str += "                        /*\n";
                                str += "                       基姆星期公式\n";
                                str += "                       星期=(百年/4+百年*5+年+年/4+(13*月+8)/5+日)%7\n";
                                str += "                       */\n";
                                str += "                        week = (Math.floor(century / 4) + century * 5 + year + (year >> 2) + Math.floor((13 * month + 8) / 5) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "                case 3:\n";
                                str += "                        /*\n";
                                str += "                       菜农第二星期公式\n";
                                str += "                       星期=((百年*5)%20+年+年/4+(13*月+8)/5+日)%7\n";
                                str += "                       */\n";
                                str += "                        week = ((century * 5) % 20 + year + (year >> 2) + Math.floor((13 * month + 8) / 5) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "                case 4:\n";
                                str += "                        /*\n";
                                str += "                       菜农第二星期公式\n";
                                str += "                       星期=(((日期/100)*5)%20+日期%100+(日期%100)4+(13*月+8)/5+日)%7\n";
                                str += "                       */\n";
                                str += "                        dateval = century * 100 + year;\n";
                                str += "                        week = ((Math.floor(dateval / 100) * 5) % 20 + year + (year >> 2) + Math.floor((13 * month + 8) / 5) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "                case 5:\n";
                                str += "                        /*\n";
                                str += "                       星期公式月表\n";
                                str += "                       星期=(百年%4*5+年+年/4+星期月表+日)%7\n";
                                str += "                       */\n";
                                str += "                        table = \"2503514620\";//3月为基月,3~12月,1,2月查5,6月表\n";
                                str += "                        week = ((century & 3) * 5 + year + (year >> 2) + parseInt(table.substr(month-3, 1), 10) + day) % 7;\n";
                                str += "                        break;\n";
                                str += "        }\n";
                                str += "        return week;\n";
                                str += "}";
      

wpy621206 发表于 2024-6-11 11:49:16

{:5_332:}

men007 发表于 2024-7-28 06:34:22

学习了!{:4_197:}
页: 1 [2] 3
查看完整版本: 公历转星期公式,弥补STC8H4K64TL。