编 闰年否 ( 年 --- 真|假 )
♂ 4 求余数 0=
∽ 100 求余数 0<> 与
↑↓ 400 求余数 0= 或
。
编 置二月天数 ( 年 --- )
闰年否
就 29 月中包含日期 2 + 字节写
否则 28 月中包含日期 2 + 字节写
然后
。
200 个32位给数组 夏历信息
编 输入夏历信息
{ \ 地址 序号 -- } 1500 动态内存分配 写入 地址 0 写入 序号
字串" 0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2," 地址 长串首传
字串" 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977," 地址 长串续传
字串" 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970," 地址 长串续传
字串" 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950," 地址 长串续传
字串" 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557," 地址 长串续传
字串" 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0," 地址 长串续传
字串" 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0," 地址 长串续传
字串" 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6," 地址 长串续传
字串" 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570," 地址 长串续传
字串" 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0," 地址 长串续传
字串" 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5," 地址 长串续传
字串" 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930," 地址 长串续传
字串" 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530," 地址 长串续传
字串" 0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45," 地址 长串续传
字串" 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0" 地址 长串续传
地址 计长串 ♂ 0>
就 ∽ 7 字串解释 序号 写入32位数组 夏历信息 1 +写入 序号
环首 ',' 同字符定位 ♂ 0<>
就继续 ↑↓ 1+ ↑↓ 1- ∽ 7 字串解释 序号 写入32位数组 夏历信息 1 +写入 序号
重复
否则 mb_ok 字串" 数据为空" 系统对话框 ♀
然后 双♀ 地址 有纠错释放内存
。
输入夏历信息
编 查看数组内容
回车 150 0
?循环 内环数 夏历信息 十六进制 显 空格 内环数 1+ 10 求余数 0= 就 回车 然后
回环
。
编 选择 ( n1 n2 真|假 --- n1|n2 )
就 ♀
否则 ↑↓♀
然后
。
编 年>日 ( 年数 --- 天数 )
♂ 365 *
∽ 4 / +
∽ 100 / -
↑↓ 400 / +
。
编 取相差天数 ( 日期值 --- 距1900年的天数 )
计年月日
♂ 1- 年>日 1899 年>日 -
3 √ 3 √ 3 √
置二月天数
月日日期值 +
。
编 月天数 ( 年 月 --- 天数 )
↑↓ 置二月天数
月中包含日期 + 字节读
。
编 日期算法2 ( 年 月 日 --- )
∽ 3 < \ 日+1+2*月+3*(月+1)/5+年+年/4-年/100+年/400
就 ↑↓ 12 + ↑↓ ∴ 1- ∵
然后 1+ ∽ 2 * + ↑↓ 1+ 3 * 5 / +
∽ + ∽ 4 / + ∽ 100 / - ↑↓ 400 / +
7 求余数
。
编 夏历月天数 ( 夏历年 夏历月 --- 天数 )
↑↓ 1900 - 夏历信息 0x10000 ∴ 右移位 与
30 29 ∴ 选择
。
编 夏历闰月 ( 夏历年 --- 闰月 )
1900 - 夏历信息 0xf 与
。
编 夏历闰月天数 ( 夏历年份 --- 天数 )
♂ 夏历闰月 0<>
就 1900 - 夏历信息 0x10000 与
30 29 ∴ 选择
否则 ♀ 0
然后
。
编 夏历年天数 ( 夏历年份 --- 天数 )
0x8000
348
环首 2 § 1900 - 夏历信息 2 § 与 1 0 ∴ 选择 +
↑↓ 1 右移位 ↑↓ ∽ 0x8 <=
就出来 ∴ 夏历闰月天数 + ↑↓♀
。
编 夏历年天数1
0
13 1
?循环 ∽ 内环数 夏历月天数 +
回环 ↑↓ 夏历闰月天数 +
。
编 夏历日期 ( 西历日期值 --- 年 月 日 是否闰月 )
{ \ 历年 历月 历日 闰月 历月天数 是闰月 -- }
0 写入 闰月
0 写入 历月天数
1900 写入 历年
取相差天数 30 -
环首 历年 夏历年天数 -
1 +写入 历年
♂ 0 <= 历年 2050 > 或
就出来
♂ 0<
就 -1 +写入 历年
历年 夏历年天数 + 写入 历日
然后
历年 夏历闰月 写入 闰月
假 写入 是闰月
1 写入 历月
环首 闰月 0>
历月 闰月 1+ = 与
是闰月 假 = 与
就 -1 +写入 历月
真 写入 是闰月
历年 夏历闰月天数 写入 历月天数
否则 历年 历月 夏历月天数 写入 历月天数
历月 闰月 1+ = 是闰月 与
就 假 写入 是闰月
然后
然后 历日 历月天数 - 写入 历日
1 +写入 历月
历日 0 <= 历月 13 >= 或
就出来
历日 0=
闰月 0> 与
闰月 1+ 历月 = 与
就 -1 +写入 历月
是闰月
就 假 写入 是闰月
否则 真 写入 是闰月
然后
然后 历日 0 <=
就 历日 历月天数 + 写入 历日
-1 +写入 历月
然后
历年 历月 历日 是闰月
。
编 夏历日期串 ( 夏历日期 --- 夏历日期串 )
{ \ 夏历串 -- }
255 个字节空给 夏历串
字串" 夏历 " 夏历串 字串传送
双↑↓ ↑↓ 4 - 60 求余数
♂ 10 求余数 ∽ 12 求余数
干支串 夏历串 字串+传送
字串" 年" 夏历串 字串+传送
字串" 【" 夏历串 字串+传送
12 求余数 属象串 夏历串 字串+传送
字串" 】" 夏历串 字串+传送
↑↓
就 字串" 闰" 夏历串 字串+传送
然后 夏历月名 夏历串 字串+传送
夏历日名 夏历串 字串+传送
字串" 日" 夏历串 字串+传送
夏历串 计字节
。