wordpress   发布时间:2022-04-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Dos命令获取当前时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

= = 这个真的折腾死我了。。。。 参http://bbs.bathome.net/thread-3328-1-1.html 操作系统不同,日期格式也可能不同: 星期二 2008-07-29 2008-07-29 星期二 07/29/2008 Tue Tue 07/29/2008 再虑到中、英之外的其它语言的操作系统,日期格式的种类实在太多了。要想标准化地获取当前系统日期2
@H_618_6@
@H_618_6@ @H_675_10@

= = 这个真的折腾死我了。。。。

http://bbs.bathome.net/thread-3328-1-1.html

@H_944_23@操作系统不同,日期格式也可能不同: 星期二 2008-07-29 2008-07-29 星期二 07/29/2008 Tue Tue 07/29/2008 再虑到中、英之外的其它语言的操作系统,日期格式的种类实在太多了。要想标准化地获取当前系统日期20080728,以下两个方法都不好: 1. 直接使用系统变量 %date% 进行字符串截取 2. 直接对 date 命令的结果进行字符串截取 实际上日期格式是由注册表 HKEY_CURRENT_USER\Control Panel\International 里面 sShortDate 的值来决定的。 推荐使用其它方法获取系统日期: 【方案1】BAT + PowerSHell @echo off REM Win7/Win8/Win10等系统自带PowerSHell for /f %%i in (‘powersHell -c "Get-Date -uformat ‘%%Y%%m%%d‘"‘) do ( set "Today=%%i" ) echo,%Today% pause for /f "delims=" %%i in (‘powersHell -c "Get-Date -UFormat ‘%%Y-%%m-%%d %%H:%%M:%%s‘"‘) do ( set "SysTS=%%i" ) echo %sysTS% pause 复制代码 【方案2】BAT + WMIC @echo off for /f "tokens=2 delims==" %%i in (‘wmic path win32_operatingsystem get LocaldatetiR_784_11845@e /value ^| findstr "="‘) do ( set "strDate=%%i" ) set "Today=%strDate:~0,4%%strDate:~4,2%%strDate:~6,2%" echo,%Today% pause set "Now=%strDate:~0,4%-%strDate:~4,2%-%strDate:~6,2% %strDate:~8,2%:%strDate:~10,2%:%strDate:~12,2%" echo %Now% pause 复制代码 【方案3】BAT + VBS @echo off >"%temp%\DateCalculate.vbs" echo dt=date() >>"%temp%\DateCalculate.vbs" echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2) >>"%temp%\DateCalculate.vbs" echo wscript.echo s for /f %%a in (‘cscript /nologo "%temp%\DateCalculate.vbs"‘) do ( set Today=%%a ) echo,%Today% pause 复制代码 【方案4】BAT + REG @echo off REM 无法保证在中、英之外的其它语言的操作系统上得到正确结果 for /f "delims=" %%a in (‘reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate‘) do ( set "RegDateOld=%%a" ) set RegDateOld=%regDateOld:~-8% reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul set Today=%date: =% reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %regDateOld% /f>nul set "Week=Mon Tue Wed Thu Fri Sat Sun 星期一 星期二 星期三 星期四 星期五 星期六 星期日" for %%a in (%Week%) do ( call set "Today=%%Today:%%a=%%" ) echo,%Today% pause 复制代码 【方案5】BAT + REG @echo off for /f "delims=" %%a in (‘reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate‘) do ( set "RegDateOld=%%a" ) set RegDateOld=%regDateOld:~-8% reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul set Today=%date: =% reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %regDateOld% /f>nul if "%Today:~0,1%" gtr "9" ( set Today=%Today:~-10% ) else ( set Today=%Today:~0,10% ) echo,%Today% pause 复制代码 【方案6】BAT + REG @echo off for /f "delims=" %%a in (‘reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate‘) do ( set "RegDateOld=%%a" ) set RegDateOld=%regDateOld:~-8% reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f>nul type nul>"%temp%\MyFile.tmp" for /f %%a in (‘dir "%temp%\MyFile.tmp" ^| findstr /i "MyFile.tmp"‘) do ( set Today=%%a ) reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %regDateOld% /f>nul echo,%Today% pause 复制代码 【方案7】BAT + REGEDIT @echo off REM 需要保证注册表编辑器没有处于锁定状态 regedit /e "%temp%\bak.reg" "HKEY_CURRENT_USER\Control Panel\International" >"%temp%\new.reg" echo REGEDIT4 >>"%temp%\new.reg" echo,>>"%temp%\new.reg" echo [HKEY_CURRENT_USER\Control Panel\International] >>"%temp%\new.reg" echo "sShortDate"="yyyy-MM-dd" regedit /s "%temp%\new.reg" set Today=%date: =% regedit /s "%temp%\bak.reg" if "%Today:~0,%Today% pause 复制代码 【方案8】BAT + DEBUG @echo off for /f "tokens=6,8 delims== " %%a in (‘^(echo a100^&echo mov ah^,2a^&echo int 21^&echo.^&echo p 2^&echo q^)^|debug^|find "CX"‘) do ( set /a y=0x%%a set md=%%b ) set /a m=0x%md:~,2% set /a d=0x%md:~-2% set m=0%m% set d=0%d% set Today=%y%-%m:~-2%-%d:~-2% echo,%Today% pause 复制代码 以下转载两个在DOS系统(不是Windows系统的CMD)里面获取日期、时@L_874_40@代码: 原文:http://www.cn-dos.net/forum/viewthread.PHP?tid=19756 【willsort原始版】 @echo off if "%1"=="[(" goto parse echo.|date|find "Current" > _getdate.bat echo set _dw=%%3> current.bat echo set _date=%%4>> current.bat call _getdate.bat echo.|date|find "Enter" > _getdfmt.bat echo set _dfmt=%%3> enter.bat call _getdfmt.bat echo.|time|find "Current" > _gettime.bat echo set _time=%%3> current.bat call _gettime.bat echo _|choice /c%_dfmt%%_date%_%_time%_ @%0 > _parse.bat %comspec% /e:2048 /c _parse.bat goto end :parse set _dt1=_%2%3 set _dt2=_%5%6 set _dt3=_%8%9 for %%t in ([,Y,-,M,D,]) do shift set _vdt= :loop1 shift set _tmp=%_vdt% for %%t in (1,2,3,4,5,6,7,8,9,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto loop1 set %_dt1%=%_vdt% set _vdt= :loop2 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto loop2 set %_dt2%=%_vdt% set _vdt= :loop3 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto loop3 set %_dt3%=%_vdt% set _vdt= :loop4 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto loop4 set _HH=%_vdt% set _vdt= :loop5 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto loop5 set _MN=%_vdt% set _vdt= :looP6 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto looP6 set _SS=%_vdt% set _vdt= :looP7 shift set _tmp=%_vdt% for %%t in (1,0) do if "%1"=="%%t" set _vdt=%_vdt%%1 if not "%_vdt%"=="%_tmp%" goto looP7 set _CS=%_vdt% echo DTN:%_YY% %_MM% %_DD% %_HH% %_MN% %_SS% %_CS% :end 复制代码 【willsort简化版】 @echo off if "%1"==":" goto %2 (subroutIne handler at %2) echo.exit|%comspec%/e:4096/k prompt set v=$d $t$_:>_tm.bat call _tm.bat echo.%v%&|%comspec%/e:4096/c %0 : Parse>_tm.bat for %%p in (_tm.bat* _tmset.bat*) do call %%p echo.Note that d1 d2 and d3 are in your system date order echo.DTN:d1=%d1% d2=%d2% d3=%d3% hh=%hh% mm=%mm% ss=%ss% cs=%cs%. for %%e in (v d1 d2 d3 hh mm ss cs) do set %%e= for %%f in (_tm.bat* _tm.tmP* _tmset.bat*) do del %%f goto end :Parse (usage: call %0 : Parse +input redirect date/timE) set me=%0 set tok=d1 d2 d3 hh mm ss cs set d1= :NextToken for %%v in (v1 v) do set %%v= choice /c&0123456789 /n>_tm.tmp for %%n in (0 1 2 3 4 5 6 7 8 9) do if errorlevel 77%%n set v=%%n if not errorlevel 2 %me% : SetToken %tok% find ""<_tm.tmp>nul if not errorlevel 1 if not "%d1%"=="" call %me% : SetToken %tok% set d1=%d1%%v% goto NextToken :SetToken set tok=%4 %5 %6 %7 %8 %9 echo set %3=%d1%>> _tmset.bat set d1= goto end :end (end-of-filE) 复制代码

大佬总结

以上是大佬教程为你收集整理的Dos命令获取当前时间全部内容,希望文章能够帮你解决Dos命令获取当前时间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
猜你在找的wordpress相关文章