中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 00:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 强制获得一致的日期格式 查看 1,474 回复 3
楼 主 强制获得一致的日期格式 发表于 2007-07-31 09:40 ·  中国 江苏 苏州 电信
初级用户
积分 24
发帖 11
注册 2007-07-13 10:36
19年会员
UID 93864
性别 男
状态 离线
@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格式
因为中文和英文的计算机老是日期格式不一样,影响执行。 通过上面这个操作,就基本可以获得一致的日期时间。
Black/White
Mono
CGA
VGA
SVGA
LCD
十年工龄 For disk operation system
2 发表于 2007-07-31 11:08 ·  中国 山西 运城 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
22年会员
UID 19350
性别 男
状态 离线
现在只支持以下格式
YYYY-MM-DD
MM-YYYY-DD(很怪异的格式,我没有见过)
MM-DD-YYYY

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

所以还是太有局限性了

目前比较好的办法有

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

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

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

如果仅在某些区域使用可以仅对某几种格式做单独处理即可
3 发表于 2007-07-31 17:28 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
//修改注册表日期格式键值


@echo off
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f
4 发表于 2010-09-16 15:07 ·  中国 上海 浦东新区 电信
新手上路
积分 7
发帖 7
注册 2010-09-06 13:18
15年会员
UID 173692
性别 男
状态 离线
新手,帮了大忙
论坛跳转: