无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3857|回复: 4
打印 上一主题 下一主题

dos 下如何判断日期格式 ?

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-19 18:20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有多台 2003 系统,date 格式各不相同,有些为 1:mon mm/dd/yyyy    另一些为 2:mm/dd/yyyy mon
如何才能判断 系统的日期格式 并执行不同的语句:
1用 for /F "tokens=2,3,4 delims=/ " %%d in ('date /T') do ( set d=%%f%%d%%e)

2用 for /F "tokens=1,2,3 delims=/ " %%d in ('date /T') do ( set d=%%f%%d%%e)
2#
发表于 2012-3-19 20:06:19 | 只看该作者
猜想楼主是不是要将两种不同的时间格式用一个变量b表示呢?
  1. @echo off
  2. for /f "tokens=1-4 delims=/ " %%d in ('date /t') do (
  3.     echo %%d|findstr "^[0-9]">nul&&set b=%%f%%d%%e
  4.     echo %%g|findstr "[0-9]$">nul&&set b=%%g%%e%%f
  5. )
  6. echo %b%
  7. pause
复制代码

没有测试环境,楼主试试看吧。
回复

使用道具 举报

3#
 楼主| 发表于 2012-3-19 21:46:55 | 只看该作者
原帖由 pznpt 于 2012-3-19 20:06 发表
猜想楼主是不是要将两种不同的时间格式用一个变量b表示呢?
@echo off
for /f "tokens=1-4 delims=/ " %%d in ('date /t') do (
    echo %%d|findstr "^[0-9]">nul&&set b=%%f%%d%%e
    echo %%g|findstr ...



是的,就是这种结果,太感谢您了
回复

使用道具 举报

4#
发表于 2012-3-21 09:34:55 | 只看该作者
1、系统 自己 不是有 变量 %date% 存放当前日期么?不用输入 命令 date /t
2、直接判断 变量 %date% 的 第三个 字符 是否为 "/" 就可以了。 如果是 就 采用 %date% 的 前十个字符,否则用 后 十个字符。

没有 2003 系统环境,不好测试。

楼主 看看这句话 行不行:
if %date:~2,1%==/ (echo %date:~0,10%) else (echo %date:~-10%)

另 :
if %date:~2,1%==/ (set t=%date:~0,10%) else (set t=%date:~-10%)
echo %t:~6,4%/%t:~0,2%/%t:~3,2%

[ 本帖最后由 dos时代菜鸟 于 2012-3-21 09:47 编辑 ]
回复

使用道具 举报

5#
发表于 2012-3-23 17:39:12 | 只看该作者
不同系统的%DATE%格式确实不同:

简体Windows7中是 2012/03/23 周五   
简体Windows2003是 2012-03-23 星期五
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-1 03:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表