如何在Windows命令行(CMD)中创建使用以下格式的变量:
MON-DAY-YEAR_TIME-AM(或PM)
set mon=%DATE:~4,2%
set day=%DATE:~7,2%
set yr=%DATE:~10,4%
> echo %mon%-%day%-%yr%
02-12-2018 # Good so far now I need to add time
尝试将TIME / T(10:54 AM)的输出设置为变量,以便我可以将其与上面的日期一起使用。我怎样才能做到这一点?
> TIME /T
10:54 AM
不是我想要的:
>set mytime=TIME /T
>echo %mytime%
TIME /T
答案 0 :(得分:1)
改为使用WMIC OS GET LOCALDATETIME
:
FOR /F "skip=1" %%A IN ('WMIC OS GET LOCALDATETIME') DO (SET "t=%%A" & GOTO break_1)
:break_1
SET "m=%t:~10,2%" & SET "h=%t:~8,2%" & SET "d=%t:~6,2%" & SET "z=%t:~4,2%" & SET "y=%t:~0,4%"
ECHO %z%-%d%-%y%_%h%:%m%
输出:02-12-2018_17:27
如果您因任何原因不喜欢24h格式,请使用:
SETLOCAL EnableDelayedExpansion
FOR /F "skip=1" %%A IN ('WMIC OS GET LOCALDATETIME') DO (SET "t=%%A" & GOTO break_1)
:break_1
SET "m=%t:~10,2%" & SET "h=%t:~8,2%" & SET "d=%t:~6,2%" & SET "z=%t:~4,2%" & SET "y=%t:~0,4%"
IF !h! GTR 11 (SET /A "h-=12" & SET "ap=P" & IF "!h!"=="0" (SET "h=00") ELSE (IF !h! LEQ 9 (SET "h=0!h!"))) ELSE (SET "ap=A")
ECHO %z%-%d%-%y%_%h%:%m%-%ap%M
输出:02-12-2018_05:27-PM
如果您不希望在个位数小时前增加0
,请使用此功能:
FOR /F "skip=1" %%A IN ('WMIC OS GET LOCALDATETIME') DO (SET "t=%%A" & GOTO break_1)
:break_1
SET "m=%t:~10,2%" & SET "h=%t:~8,2%" & SET "d=%t:~6,2%" & SET "z=%t:~4,2%" & SET "y=%t:~0,4%"
IF "%h%"=="00" (SET "h=0") ELSE (IF %h% LEQ 9 SET "h=%h:0=%")
IF %h% GTR 11 (SET /A "h-=12" & SET "ap=P") ELSE (SET "ap=A")
ECHO %z%-%d%-%y%_%h%:%m%-%ap%M
输出:02-12-2018_5:27-PM
答案 1 :(得分:0)
另一种可靠且与语言环境无关的方法是使用PowerShell。
Route::get("url/{url}", function($url) {
return $url;
})->where('url', '.*');