中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 01:36
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 强制获得一致的日期格式
可打印版本  1,476 / 3
第1楼 ncqingyi 发表于 2007-07-31 09:40
初级用户 发帖 11 积分 24
强制获得一致的日期格式
@Echo off
for /f "tokens=1,2,3,4 delims=/-: " %%a in ('date /t') do (
set fl1=%%a
set fl2=%%b
set fl3=%%c
)
set flYear=%fl1%
set flMonth=%fl2%
set flDay=%fl3%

if %fl2% GEQ 1000 (
set flYear=%fl2%
set flMonth=%fl1%
set flDay=%fl3%
)
if %fl3% GEQ 1000 (
set flYear=%fl3%
set flMonth=%fl1%
set flDay=%fl2%
)
@Echo %flYear%%flMonth%%flDay%

YMD格式
因为中文和英文的计算机老是日期格式不一样,影响执行。 通过上面这个操作,就基本可以获得一致的日期时间。
第2楼 qzwqzw 发表于 2007-07-31 11:08
银牌会员 发帖 636 积分 2,343
现在只支持以下格式
YYYY-MM-DD
MM-YYYY-DD(很怪异的格式,我没有见过)
MM-DD-YYYY

欧洲的DD-MM-YYYY没有支持
以英文或缩写表示的月份也无法支持
这种算法也没有办法都支持

所以还是太有局限性了

目前比较好的办法有

修改注册表日期格式键值
然后获取标准格式的日期值

直接通过BIOS中断或者WinAPI读取日期

当然这些办法仅用在语言环境很难确定的场合

如果仅在某些区域使用可以仅对某几种格式做单独处理即可
第3楼 HAT 发表于 2007-07-31 17:28
版主 发帖 5,017 积分 9,023
//修改注册表日期格式键值

第4楼 hello12588 发表于 2010-09-16 15:07
新手上路 发帖 7 积分 7
新手,帮了大忙
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023