![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 12:21 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理版万年历 |
| 可打印版本 17,280 / 44 |
| 第16楼 Michael | 发表于 2007-06-03 11:16 |
| 钻石会员 发帖 3,041 积分 10,056 | |
Originally posted by qzwqzw at 2007-5-27 06:14 PM: 唯一的办法就是教会你家乡的“二愣子”学会批处理。呵呵。 |
|
| 第17楼 namejm | 发表于 2007-06-03 13:32 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
发个使用更加方便一点的代码,对日历多余的空行做删除处理,修正了15楼代码中查询2007年7月份时只有30天的错误,此错误是由于当月1日正好是星期日、而37次循环只能扫描到30日引起的,更多的改变请看代码说明。
[ Last edited by namejm on 2007-6-3 at 02:50 PM ] |
|
| 第18楼 qzwqzw | 发表于 2007-06-03 14:25 |
| 银牌会员 发帖 636 积分 2,343 | |
|
2007年7月的问题我注意到了
不过那时已没有时间改了 ---------------------------------- 空行的删除会让提示信息和输入日期为止频繁变动 对排版效果的改善起不到积极作用 所以我没有考虑 ---------------------------------- 日期格式化检查部分的改动比较乱 输入7-6-3得到的是7-06-03(年份没有格式化) 输入0得到的是2007-00-01(月份没有校验) 月与日的缺省值原本是10月/10日 只是考虑到实现起来比较简单 ---------------------------------- 当日/今日的显示 现在觉得意义不大 尤其是与带星期的%date%比较 [ Last edited by qzwqzw on 2007-6-3 at 02:33 PM ] |
|
| 第19楼 namejm | 发表于 2007-06-03 14:57 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by qzwqzw at 2007-6-3 14:25: 想把这个代码做成万年历,7年表示公元7年,所以没法格式化。 输入0得到的是2007-00-01(月份没有校验) 17楼的代码已经添加了对日期和月份为0时的检测。 当日/今日的显示 碰到带星期格式的%date%,确实比较令人头痛,提取时间的代码很难做到完全兼容。另外,日期分隔符也可以人为指定,这就更难以兼容了。 |
|
| 第20楼 qzwqzw | 发表于 2007-06-03 15:36 |
| 银牌会员 发帖 636 积分 2,343 | |
|
已经说过了,万年历没有太多意义
有谁会查公元元年的星期呢? 那时候都甚至没有格里高利历法 如果真想做专业的年表 那就需要连公元前一起考虑 谁知道这个公式在公元前是否仍然适用 而且你的代码也已经加入了0~55的判断 那就说明也默认了0~55是+了2000年的 ---------------------------------------------------- 将日期格式化校验代码简化后如下 [ Last edited by qzwqzw on 2007-8-5 at 06:48 PM ] |
|
| 第21楼 namejm | 发表于 2007-06-03 16:10 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
Originally posted by qzwqzw at 2007-6-3 15:36: 呵呵,万年历确实没太多的意义,我就把它当作游戏来做吧^_^。
实际上,在我的代码里,我加的是00~55的判断,并非0~55,所以,如果要让脚本自动加上19或20的前缀的话,就要输入两位数的年份。 20楼的代码充分考虑了大众的阅读习惯和查询习惯,并对日期做了格式化处理,已经非常完善了。只是关于年份转换的那部分说明,直接从我那段代码里复制过来,所描述的效果和你的代码功能不完全吻合,建议把它改成这样: :: 关于年份的转换: |
|
| 第22楼 qzwqzw | 发表于 2007-06-03 22:16 |
| 银牌会员 发帖 636 积分 2,343 | |
|
多谢指出
已经修正 |
|
| 第23楼 zjl5 | 发表于 2007-06-16 03:05 |
| 初级用户 发帖 15 积分 82 | |
|
还是找不到算农历的方法,只能算出生肖和农历干支年.
|
|
| 第24楼 whswbiori | 发表于 2007-08-01 05:00 |
| 新手上路 发帖 5 积分 10 | |
|
气氛真好 你们2个好活跃啊 看了3,4个帖子 都有你们
] |
|
| 第25楼 kidzgy | 发表于 2007-08-01 09:17 |
| 中级用户 发帖 129 积分 262 | |
|
到底最完美一点的是拿一个啊?
|
|
| 第26楼 kidzgy | 发表于 2007-08-01 09:21 |
| 中级用户 发帖 129 积分 262 | |
|
20楼的,如果日期输入错误,会出现死循环。一直都是错误。
|
|
| 第27楼 qzwqzw | 发表于 2007-08-01 10:15 |
| 银牌会员 发帖 636 积分 2,343 | |
|
请说详细些
输入什么样的错误日期? 在什么地方死循环? |
|
| 第28楼 youxi01 | 发表于 2007-08-01 12:33 |
| 高级用户 发帖 247 积分 846 来自 湖南==》广东 | |
|
namejm兄和qzwqzw兄还有这么高的兴致啊,佩服ing
|
|
| 第29楼 kidzgy | 发表于 2007-08-01 18:04 |
| 中级用户 发帖 129 积分 262 | |
Originally posted by qzwqzw at 2007-8-1 10:15 AM: 我复制你的代码到bat中,不管输入什么,字母也好,按照你的格式输入也好,07-02-03都没有用,回车之后提示错误,此时按任意键回不了主菜单,造成一个死循环,一直停留在错误界面内,若不关闭的话。 |
|
| 第30楼 qzwqzw | 发表于 2007-08-01 18:36 |
| 银牌会员 发帖 636 积分 2,343 | |
|
无法复现的你的错误
如果你懂得简单的批处理调试技巧的话 可以在代码的错误提示前 插入一条语句查看此时变量接受输入的结果 echo [%OS%][%date%][%sDate%][%y%=%m%=%d%] |
|
| 上一页 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |