2021-03-09

[學習][cmd]日期的取得:date

date,這個指令在cmd 可以修改日期

date /t 可以查看今天的日期,但如果要將值輸出,可以設置變數將值帶入

set d1=%date% 取得環境變數內的值

但只會到斜線之前,所以僅能得到年份

所以要利用:~ 去做取得值的偏移

例如%date:~0,4%,就是取得date的第0個字元並向右偏移4個字元

%date:~0,4%可以得到年份 (數值)

%date:~5,2%可得月份 (數值)

%date:~8,2%可得日期 (字串)

為啥日期的部分會是字串我也不懂

如果要好好取得日期(數值)的話,就只能拆解取得

set d1=%date:~8,1%

set d2=%date:~9,1%

set /a d1=d1*10

set /a d3=d1+d2

這樣d3就會是數值,方便以後需要的運算


不過不同的作業系統會有略微不同呢

有些電腦的%date:~8,2%會得到數值,但0會被省略

有些因為地區的設定導致 date /t 給的呈現方式不同

英文版的設定可能是 日/月/年

因此給出的偏移值就會不同

%date:~0,2% %date:~3,2% %date:~6,4%

需要諸多嘗試呢

 

 

https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/date