找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19104|回复: 0

[日期时间] [分享]批处理转换文本中的日期时间格式

[复制链接]
发表于 2019-10-29 11:49:48 | 显示全部楼层 |阅读模式
问题:
有效期:Fri Oct 24 16:08:06 GMT+08:00 2018 至Sun Oct 25 16:08:07 GMT+08:00 2020
有效期:Fri Nov 26 16:08:08 GMT+08:00 2018 至Sun Nov 27 16:08:09 GMT+08:00 2020

希望把格式转换成如下

有效期:2018-10-24 16:08:06 至 2020-10-25 16:08:07
有效期:2018-11-26 16:08:08 至 2020-11-27 16:08:09

代码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('type "1.txt"') do (
  4.     set "str=%%i"
  5.     set yearFrom=!str:~34,4!
  6.     set monthFrom=!str:~8,3!
  7.     set dayFrom=!str:~12,2!
  8.     set timeFrom=!str:~15,8!
  9.     set yearTo=!str:~70,4!
  10.     set monthTo=!str:~44,3!
  11.     set dayTo=!str:~48,2!
  12.     set timeTo=!str:~51,8!
  13.     call :GetMonth !monthFrom!
  14.     call :GetMonth !monthTo!
  15.     set tsFrom=!yearFrom!-!monthNum!-!dayFrom! !timeFrom!
  16.     set tsTo=!yearTo!-!monthNum!-!dayTo! !timeTo!
  17.     echo 有效期:!tsFrom! 至 !tsTo!
  18. ))>"2.txt"
  19. goto :eof

  20. :GetMonth
  21. if "%1" equ "Jan" (
  22.     set "monthNum=01"
  23. ) else if "%1" equ "Feb" (
  24.     set "monthNum=02"
  25. ) else if "%1" equ "Mar" (
  26.     set "monthNum=03"
  27. ) else if "%1" equ "Apr" (
  28.     set "monthNum=04"
  29. ) else if "%1" equ "May" (
  30.     set "monthNum=05"
  31. ) else if "%1" equ "Jun" (
  32.     set "monthNum=06"
  33. ) else if "%1" equ "Jul" (
  34.     set "monthNum=07"
  35. ) else if "%1" equ "Aug" (
  36.     set "monthNum=08"
  37. ) else if "%1" equ "Sep" (
  38.     set "monthNum=09"
  39. ) else if "%1" equ "Oct" (
  40.     set "monthNum=10"
  41. ) else if "%1" equ "Nov" (
  42.     set "monthNum=11"
  43. ) else if "%1" equ "Dec" (
  44.     set "monthNum=12"
  45. ) else (
  46.     set "monthNum=ERROR"
  47. )
  48. goto :eof
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 10:11 , Processed in 0.016276 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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