亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > BAT > 正文

批處理萬年歷實現代碼(包括農歷日期)

2020-07-26 19:47:34
字體:
來源:轉載
供稿:網友

核心源碼

:: 月歷查詢工具 最初發表于CN-DOS:: 原創:foxjl 更新:namejm, qzwqzw,foxjl:: 計算農歷日期部分思路及算法來自"趣味東":: 輸入的日期格式為:年-月-日(-可以替換為:、/,可以混用):: 在日歷里面,★=當天:: 支持多種格式的日期輸入::: ① 若只輸入一個數,則認為是查詢當年月份,自動截取后兩位數字查詢,★標在1日上;:: ② 若輸入兩個數,則認為是查詢年和月,★標在1日上;:: ③ 輸全的話,★標在指定日期上 :: 關于年份的轉換::: ① 若年份上輸入的數字少于三位,則作如下轉換: ::   50~99判定為19xx::   0~49判定為20xx:: ② 若輸入的年份數字超過兩位,則截取后四位字符(不足部分在高位補0),::  按 ① 的規則計算該年份的日期; :: 07-08-04 增加針對陽歷的生肖及干支年計算;修改錯誤日期循環提示的BUG.:: 08-01-13 增加推算農歷日期的功能,會有一天左右誤差。@echo offcolor 1fmode con cols=40 lines=20setlocal enabledelayedexpansionset str=日一二三四五六七八九set sdate=%date%:Maincls&echo.:: 日期提取、格式化與校驗for /f "tokens=1,2,3 delims=-/: " %%i in ("%sdate%") do (  (set sy=%%i) && (set sm=%%j) && (set sd=%%k))if not defined sd set sd=1if not defined sm set sm=%sy%&set sy=%date:~0,4%(set sy=0000%sy%) && (set sm=00%sm%) && (set sd=00%sd%)(set sy=%sy:~-4%) && (set sm=%sm:~-2%) && (set sd=%sd:~-2%)set /a y=1%sy%-10000, m=1%sm%-100, d=1%sd%-100 2>nulif errorlevel 9167 goto Errorif %y% lss 100 (  if %y% lss 50 (set /a y+=2000) else (set /a y+=1900)  set sy=!y!)if %m% lss 13 if %d% lss 32 goto Calc:Errorecho.錯誤的日期.pause>nulcd.set sdate=%date%goto Main:Calc::計算農歷部分set/a Q=(y-1901)/4set/a R=y-1901-4*Qset n=0for %%i in (0,31,59,90,120,151,181,212,243,273,304,334) do (set /a n+=1if %m% equ !n! set z=%%i)set /a leap="^!(y%%4) & ^!(^!(y%%100)) | ^!(y%%400)"if %m% gtr 2 (if %leap% equ 0 (set /a z-=1) else (set /a z+=leap))set/a n=(140*Q+106*(R+1)+z*10+d*10)/295,H=(140*Q+106*(R+1)+z*10+d*10-295*n)/10if %h% equ 0 set h=29if %h% leq 10 (if %h% equ 10 (set h=初十) else (set h=初%h%)) else (set h=%h:~0,1%十%h:~-1%號)for /l %%i in (1,1,9) do (call set h=%%h:%%i=!str:~%%i,1!%%)set h=%h:0=%:: 計算生肖及干支年set sx=猴雞狗豬鼠?;⑼谬埳唏R羊set tg=庚辛壬癸甲乙丙丁戊己set dz=申酉戌亥子丑寅卯辰巳午未set /a sxnum=%sy% %% 12set /a tgnum=%sy:~-1%title 農歷!tg:~%tgnum%,1!!dz:~%sxnum%,1!年 生肖:!sx:~%sxnum%,1! 農歷:%h%:: 計算每個月的天數set days=31for %%i in (4 6 9 11) do if %m% equ %%i set days=30:: 計算2月份的偏差set /a leap="^!(y%%4) & ^!(^!(y%%100)) | ^!(y%%400)"if %m% equ 2 set /a days=28+%leap%if %m% leq 2 (set /a y-=1& set /a m+=12):: 計算指定日期的星期數set /a w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%%7echo. %sy%年%sm%月  日期:%sy%-%sm%-%sd%,星期!str:~%w%,1!echo.:: 生成月歷set /a wb=(w+35-d) %% 7, we=wb+days+1, day=1echo.  日  一  二  三  四  五  六echo. ━━━━━━━━━━━━━━━━━━━set /p= <nulfor /l %%i in (0,1,37) do (  set "temp= "  if %%i GTR %wb% if %%i LSS %we% (    set temp= !day!    set temp=!temp:~-2!    if !d! EQU !day! set temp=★    set /a day+=1  )  set /p=  !temp!<nul  set /a "wm=(%%i+1)%%7"  if !wm! equ 0 echo.&echo.&set /p= <nul)echo.echo ━━━━━━━━━━━━━━━━━━━echo. 輸入日期可查詢當日星期并顯示當月月歷echo.set sdate=set /p sdate= 格式如:2007-02-03,[回車]退出:if defined sdate goto Main

以下是各計算部分算法:

計算星期:
基姆拉爾森計算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日數+1,m表示月份數,y表示年數。
注意:在公式中有個與其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,
例:如果是2004-1-10則換算成:2003-13-10來代入公式計算。

生肖及干支年計算方法是:

出生公元年數÷12,然后根據除得的商的余數,對照生肖排列就馬上可以知道。
生肖排列是:猴(0)、雞(1)、狗(2)、豬(3)、鼠(4)、牛(5)、虎(6)、兔(7)、龍(8)、蛇(9)、馬(10)、羊(11)。

天干地支算法:
首先要能記住十大天干和十二地支,
十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;
十二地支:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥;
天干地支紀年法首先是天干在前,地支在后,比如今年2005就為-乙酉年,先來算算天干,有個公式:
4、 5、 6、 7、 8、 9、 0、 1、 2、 3 對應的十天干就是
甲、乙、丙、丁、戊、己、庚、辛、壬、癸,
數字為年代的最后的一位數字,比如今年是2005,最后一位是5,對應的天干就是乙;
地支的算法:用年代數除以12,后面的余數就代表某個地支,余數分別為:
4、 5、 6、 7、 8、 9、 10、 11、 0、 1、 2、 3,
代表地支為:子、丑、寅、卯、辰、巳、午、 未、 申、酉、戌、亥,
比如2005年為例:年代末尾數為5,對應的天干為乙,2005除以12,余數為1,對應的地支為酉,所以2005年為乙酉年。

農歷日期部分的算法是:
陰歷日期是以月亮的圓缺為計月單位,其以逢朔為初一,以月望為十五(大月為十六日),以月晦為二十 九日(大月為三十日)。然而目前記時通常用陽歷日期表達,如欲將陽歷日期換算成陰歷日期可以用以下兩種方法:其一是查《新編萬年歷》,如查1984年6月8日是陰歷幾日?翻開萬年歷6月10日是陰歷十一,則逆推6月8日是陰歷初九。其二可以利用公式推算陰歷日期:
設:公元年數-1977(或1901)=4Q+R
則:陰歷日期=14Q+10.6(R+1)+年內日期序數-29.5n
(注:式中Q、R、n均為自然數,R<4)
例:1994年5月7日的陰歷日期為:
1994-1977=17=4×4+1
故:Q=4,R=1 則:5月7日的陰歷日期為:
14×4+10.6(1+1)+(31+28+31+30+7)-29.5n
=204.2- 29.5n
然后用29.5去除204.2得商數6......27.2,6即是n值,余數27即是陰歷二十七日。

到此這篇關于批處理萬年歷實現代碼(包括農歷日期)的文章就介紹到這了,更多相關批處理萬年歷內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品女人久久久久久| 夜夜嗨av色综合久久久综合网| 在线播放日韩欧美| 中文字幕欧美在线| 一夜七次郎国产精品亚洲| 国产精品久久久久77777| 成人福利免费观看| 疯狂欧美牲乱大交777| 91黄色8090| 欧美精品aaa| 精品色蜜蜜精品视频在线观看| 福利视频导航一区| 欧美日韩999| 亚洲欧美国产精品久久久久久久| 欧美xxxx14xxxxx性爽| 日韩av在线看| 国产精品扒开腿爽爽爽视频| 国产精品∨欧美精品v日韩精品| 国产精品成人一区二区三区吃奶| 欧美激情a∨在线视频播放| 91中文精品字幕在线视频| 精品中文字幕乱| 久久91亚洲精品中文字幕| 日韩欧美亚洲范冰冰与中字| 欧美性生活大片免费观看网址| 欧美丰满少妇xxxxx| 亚洲欧美视频在线| 热久久这里只有| 欧美色图在线视频| 一区二区欧美日韩视频| 一本色道久久88综合日韩精品| 欧美性xxxx极品hd欧美风情| 亚洲精品天天看| 狠狠色狠狠色综合日日五| 欧美亚洲视频在线看网址| 国产欧美日韩专区发布| 国产视频精品免费播放| 国产精品久久久久久久7电影| 欧美怡春院一区二区三区| 国产一区二区三区18| 国产精品久久一区| 日韩电影中文 亚洲精品乱码| 高清一区二区三区日本久| 免费av在线一区| 97精品国产97久久久久久| 福利精品视频在线| 97免费视频在线播放| 色老头一区二区三区| 久久久精品国产一区二区| 欧美一二三视频| yw.139尤物在线精品视频| 久久久久在线观看| 欧美国产精品日韩| 成人免费自拍视频| 国产成人精品免费久久久久| 欧美一级在线播放| 精品精品国产国产自在线| 精品香蕉在线观看视频一| 欧美一级电影久久| 国产免费一区视频观看免费| 久久久亚洲国产天美传媒修理工| 78m国产成人精品视频| 欧美日韩国内自拍| 国产精品高潮呻吟久久av无限| 欧美中文字幕视频在线观看| 一本色道久久88综合亚洲精品ⅰ| 精品亚洲永久免费精品| 日韩精品久久久久久久玫瑰园| 亚洲性69xxxbbb| 久久黄色av网站| 91sao在线观看国产| 欧美精品激情blacked18| 狠狠躁夜夜躁久久躁别揉| 国产精品一区二区三区毛片淫片| 欧美裸身视频免费观看| 国语自产精品视频在免费| 国产精品亚洲欧美导航| 97香蕉超级碰碰久久免费软件| 日韩精品视频在线免费观看| 狠狠久久亚洲欧美专区| 成人日韩在线电影| 精品偷拍一区二区三区在线看| 精品偷拍各种wc美女嘘嘘| 久久精品男人天堂| 国产精品国产三级国产aⅴ9色| 亚洲国模精品私拍| 亚洲人精选亚洲人成在线| 亚洲国产小视频| 国产精品爱啪在线线免费观看| 欧美成人午夜免费视在线看片| 久久久中精品2020中文| 一本一本久久a久久精品综合小说| 欧美在线不卡区| 欧美激情videoshd| 亚洲欧美国产一区二区三区| 欧美大片va欧美在线播放| 国产成人一区二区三区电影| 国产亚洲欧美一区| 国产精品电影观看| 国产女精品视频网站免费| 亚洲精品中文字幕女同| 日韩精品高清在线| 欧美激情视频一区二区| 亚洲激情视频在线观看| 日韩电影大全免费观看2023年上| 欧美日韩成人网| 欧美孕妇与黑人孕交| 日韩中文字幕免费看| 秋霞av国产精品一区| 国产精品自拍偷拍视频| 国产精自产拍久久久久久蜜| 精品国产一区二区三区四区在线观看| 亚洲黄色片网站| 日韩成人激情在线| 欧美老女人性视频| 国产精品成久久久久三级| 亚洲自拍欧美色图| 国产精品人人做人人爽| 免费不卡欧美自拍视频| 裸体女人亚洲精品一区| 国产美女被下药99| 日韩免费不卡av| 国产精品久久久久久久久影视| 国产精品美女无圣光视频| 亚洲一区二区三区毛片| 成人国内精品久久久久一区| 中文字幕亚洲一区二区三区| 久久久久久中文字幕| 国产suv精品一区二区| 久久精品一本久久99精品| 国内伊人久久久久久网站视频| 成人免费观看网址| 久久69精品久久久久久久电影好| 国产精品视频最多的网站| 欧美日韩综合视频网址| 97香蕉超级碰碰久久免费的优势| 欧美午夜无遮挡| www.日韩系列| 久久中文精品视频| 中文字幕久热精品视频在线| 国产亚洲日本欧美韩国| 欧美午夜无遮挡| 91欧美日韩一区| 成人性生交大片免费观看嘿嘿视频| 日韩精品高清在线观看| 国产剧情久久久久久| 国产精品18久久久久久麻辣| 欧美尤物巨大精品爽| 欧美在线视频网| 欧美综合一区第一页| 欧美性生交大片免费| 久久国产精品久久国产精品| 亚洲第一黄色网| 91黑丝高跟在线| 97免费视频在线播放| 久久久久www| 91精品视频专区| 欧美大片免费观看| 国产精品久久久久久久天堂| 日韩av最新在线观看| 成人激情视频免费在线| 日韩av手机在线| 日韩中文字幕在线免费观看| 国产a∨精品一区二区三区不卡|