欢迎光临中国护送网
详情描述

1. 基本获取日期和时间

@echo off
:: 获取当前日期和时间
echo %date%
echo %time%

:: 输出格式示例:
:: 2023-12-25 或 周一 2023/12/25 (取决于区域设置)
:: 10:30:45.50

2. 提取日期各部分

@echo off
:: 方法1:使用变量扩展(适用于YYYY-MM-DD格式)
set current_date=%date%
set year=%current_date:~0,4%
set month=%current_date:~5,2%
set day=%current_date:~8,2%

echo 年份: %year%
echo 月份: %month%
echo 日期: %day%

:: 方法2:更通用的方法
for /f "tokens=1-3 delims=-/ " %%a in ("%date%") do (
    set year=%%a
    set month=%%b
    set day=%%c
)

3. 提取时间各部分

@echo off
:: 获取时间各部分
set current_time=%time%
set hour=%current_time:~0,2%
set minute=%current_time:~3,2%
set second=%current_time:~6,2%

echo 小时: %hour%
echo 分钟: %minute%
echo 秒数: %second%

:: 处理小时前导空格(当小时小于10时)
if "%hour:~0,1%"==" " set hour=0%hour:~1,1%

4. 使用WMIC获取标准格式

@echo off
:: 使用WMIC获取标准格式的日期时间(不受区域设置影响)
for /f "tokens=1-6 delims=/-: " %%a in ('wmic os get localdatetime ^| find "."') do (
    set dt_year=%%a
    set dt_month=%%b
    set dt_day=%%c
    set dt_hour=%%d
    set dt_min=%%e
    set dt_sec=%%f
)

echo 标准格式: %dt_year%-%dt_month%-%dt_day% %dt_hour%:%dt_min%:%dt_sec%

5. 创建格式化日期时间字符串

@echo off
:: 创建自定义格式的日期时间字符串
for /f "tokens=1-6 delims=/-: " %%a in ('wmic os get localdatetime ^| find "."') do (
    set dt=%%a%%b%%c%%d%%e
)

echo 格式化字符串(YYYYMMDDHHMM): %dt%

:: 另一种方法
set timestamp=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set timestamp=%timestamp: =0%  :: 替换空格为0
echo 时间戳: %timestamp%

6. 日期计算(加减天数)

@echo off
:: 使用PowerShell进行日期计算
:: 获取昨天的日期
for /f %%i in ('powershell -Command "(Get-Date).AddDays(-1).ToString('yyyy-MM-dd')"') do set yesterday=%%i

:: 获取明天的日期
for /f %%i in ('powershell -Command "(Get-Date).AddDays(1).ToString('yyyy-MM-dd')"') do set tomorrow=%%i

echo 昨天: %yesterday%
echo 明天: %tomorrow%

7. 完整的实用示例

@echo off
:: 获取当前日期时间并生成文件名
setlocal enabledelayedexpansion

:: 方法1:使用变量扩展
set date_part=%date:~0,4%%date:~5,2%%date:~8,2%
set time_part=%time:~0,2%%time:~3,2%%time:~6,2%
set time_part=!time_part: =0!

set filename=backup_%date_part%_%time_part%.zip
echo 生成的文件名: %filename%

:: 方法2:使用WMIC
for /f "tokens=2 delims==." %%a in ('wmic os get localdatetime /value ^| find "LocalDateTime"') do (
    set dt=%%a
)

set dt_year=%dt:~0,4%
set dt_month=%dt:~4,2%
set dt_day=%dt:~6,2%
set dt_hour=%dt:~8,2%
set dt_min=%dt:~10,2%
set dt_sec=%dt:~12,2%

set logfile=log_%dt_year%%dt_month%%dt_day%_%dt_hour%%dt_min%%dt_sec%.txt
echo 日志文件名: %logfile%

:: 显示友好的日期时间格式
echo 当前时间: %dt_year%年%dt_month%月%dt_day%日 %dt_hour%时%dt_min%分%dt_sec%秒

endlocal

8. 处理不同区域格式

@echo off
:: 通用方法处理不同日期格式
setlocal enabledelayedexpansion

echo 当前日期格式: %date%

:: 尝试自动检测格式
if "%date:~4,1%"=="-" (
    :: 格式为 YYYY-MM-DD
    set fmt_year=%date:~0,4%
    set fmt_month=%date:~5,2%
    set fmt_day=%date:~8,2%
) else if "%date:~2,1%"=="-" (
    :: 格式为 DD-MM-YYYY
    set fmt_day=%date:~0,2%
    set fmt_month=%date:~3,2%
    set fmt_year=%date:~6,4%
) else (
    :: 使用WMIC作为后备
    for /f "tokens=2 delims==." %%a in ('wmic os get localdatetime /value ^| find "LocalDateTime"') do (
        set dt=%%a
    )
    set fmt_year=%dt:~0,4%
    set fmt_month=%dt:~4,2%
    set fmt_day=%dt:~6,2%
)

echo 标准化日期: %fmt_year%-%fmt_month%-%fmt_day%
endlocal

提示:

日期格式问题%date%%time%的格式取决于系统区域设置 推荐使用WMIC:使用wmic os get localdatetime可以获取标准格式,不受区域设置影响 时间格式:当小时小于10时,%time%会用空格填充,需要特殊处理 批处理版本:Windows XP可能不支持某些命令

这些方法可以根据需要进行组合和调整,以适应不同的使用场景。

相关帖子
如果家里老人不会用智能手机,如何进行养老金领取资格认证?
如果家里老人不会用智能手机,如何进行养老金领取资格认证?
日常所说的“国际金价”和我们在金店看到的价格有何区别?
日常所说的“国际金价”和我们在金店看到的价格有何区别?
威海市高效获客软件#网站定制服务,提供一站式建站服务
威海市高效获客软件#网站定制服务,提供一站式建站服务
威海市乳山市120救护车长途跨省转运病人,出院转院救护车出租服务,就近派车
威海市乳山市120救护车长途跨省转运病人,出院转院救护车出租服务,就近派车
威海市文登区120救护车出租中心,跨省转院救护车租赁,随时派车全国护送
威海市文登区120救护车出租中心,跨省转院救护车租赁,随时派车全国护送
太原市高效获客软件@网站设计制作,企业解决方案
太原市高效获客软件@网站设计制作,企业解决方案
乌鲁木齐市小视频代运营#网站建设推广,价格透明
乌鲁木齐市小视频代运营#网站建设推广,价格透明
离职后暂时不工作,个人可以通过哪些方法维持社保连续缴纳?
离职后暂时不工作,个人可以通过哪些方法维持社保连续缴纳?
聊城市长途跨省救护车出租转运-医疗转运车出租,全国各地都有车
聊城市长途跨省救护车出租转运-医疗转运车出租,全国各地都有车
对物业公司的收费和服务不满,除了拒缴费,还有什么更有效的沟通途径?
对物业公司的收费和服务不满,除了拒缴费,还有什么更有效的沟通途径?
面对建筑工地夜间施工噪音,居民可以通过哪些正规渠道进行反映与投诉?
面对建筑工地夜间施工噪音,居民可以通过哪些正规渠道进行反映与投诉?
2026年购买二手儿童安全座椅,必须检查哪些关键部位以避免隐患?
2026年购买二手儿童安全座椅,必须检查哪些关键部位以避免隐患?
2026年各地爸爸陪产假的天数有所不同,具体差异主要体现在哪里?
2026年各地爸爸陪产假的天数有所不同,具体差异主要体现在哪里?
牙周炎能吃大闸蟹吗
牙周炎能吃大闸蟹吗
安庆市私人救护车转运病人-急救车长途转运,24小时随叫随到
安庆市私人救护车转运病人-急救车长途转运,24小时随叫随到
非技术岗位的劳务人员,在海外工作期间可以通过哪些方式提升自身技能?
非技术岗位的劳务人员,在海外工作期间可以通过哪些方式提升自身技能?
涂什么可以延时射精
涂什么可以延时射精
Fedora怎么设置图标主题? Linux系统图标主题的设置方法
Fedora怎么设置图标主题? Linux系统图标主题的设置方法
消费者通过追溯码进行维权时,应该注意保存和提供哪些关键证据?
消费者通过追溯码进行维权时,应该注意保存和提供哪些关键证据?