如何将sysdate存储为2014年1月25日格式,我可以使用下面提到的查询捕获格式为25012014的日期
@echo off
SetLocal enabledelayedexpansion
for /f "tokens=2-4 delims=/ " %%a in ('') do set year=%%c
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%%a
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%%b
set TODAY=%day%%month%%year%
echo %TODAY%
如何在2014年1月25日格式中捕获日期?
发布于 2014-01-25 19:06:39
这是一种实现你想要的东西的方法
@echo off
SetLocal enabledelayedexpansion
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set year=%%c
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set month=%%a
for /f "tokens=2-4 delims=/ " %%a in ('date /T') do set day=%%b
if %month%=01 set monthname=Jan
if %month%=02 set monthname=Feb
if %month%=03 set monthname=Mrt
if %month%=04 set monthname=Apr
if %month%=05 set monthname=May
if %month%=06 set monthname=Jun
if %month%=07 set monthname=Jul
if %month%=08 set monthname=Aug
if %month%=09 set monthname=Sep
if %month%=10 set monthname=Oct
if %month%=11 set monthname=Nov
if %month%=12 set monthname=Dec
set TODAY=%day%%monthname%%year%
echo %TODAY%
请注意,只有在我的框中使用/
表示日期时,此解决方案才有效,分隔符为-
发布于 2014-01-26 00:10:12
下面的批处理文件解决了您的特定问题:
@echo off
setlocal EnableDelayedExpansion
set m=100
for %%a in (Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec) do (
set /A m+=1
set month[!m:~-2!]=%%a
)
for /F "tokens=2-4 delims=/ " %%a in ('date /T') do set TODAY=%%b!month[%%a]!%%c
echo %TODAY%
发布于 2014-01-25 22:45:47
即使您修改脚本以提供正确的格式,它也依赖于区域设置,这意味着它可能不能在所有计算机上工作,这取决于它们的配置方式。
如果您使用getTimeStamp.bat - a hybrid JScript/batch utility that performs date and time computations and formatting,那么解决方案很简单。该实用程序是纯脚本,可在从XP开始的任何现代Windows计算机上运行。完整的文档嵌入在脚本中。
假设您的当前目录中有getTimeStamp.bat,或者更好的是,在您的路径中的某个位置:
call getTimeStamp -f {dd}{mth}{yyyy} -r TODAY
该实用程序默认为英语月份缩写,但有一个选项可用于指定任何所需语言的缩写。还有完整的月份名称、星期几名称和星期几缩写选项。
https://stackoverflow.com/questions/21349681
复制相似问题