标题: 强制获得一致的日期格式
[打印本页]
作者: ncqingyi
时间: 2007-7-31 09:40
标题: 强制获得一致的日期格式
@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格式
因为中文和英文的计算机老是日期格式不一样,影响执行。 通过上面这个操作,就基本可以获得一致的日期时间。
作者: qzwqzw
时间: 2007-7-31 11:08
现在只支持以下格式
YYYY-MM-DD
MM-YYYY-DD(很怪异的格式,我没有见过)
MM-DD-YYYY
欧洲的DD-MM-YYYY没有支持
以英文或缩写表示的月份也无法支持
这种算法也没有办法都支持
所以还是太有局限性了
目前比较好的办法有
修改注册表日期格式键值
然后获取标准格式的日期值
直接通过BIOS中断或者WinAPI读取日期
当然这些办法仅用在语言环境很难确定的场合
如果仅在某些区域使用可以仅对某几种格式做单独处理即可
作者: HAT
时间: 2007-7-31 17:28
//修改注册表日期格式键值
@echo off
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f
作者: hello12588
时间: 2010-9-16 15:07
新手,帮了大忙