本帖最後由 燒浩 於 2018-2-13 10:10 編輯
用純 cmd 攞 datetime 唔會太準。可透過其他中介攞 datetime (如︰ VBScript)。雖然麻煩少少,唔會因為唔同 locale setting 而錯,準確好多。之前寫落咗個 VBScript,睇睇啱唔啱用。- '#-----------------------------------------------------------------------------
- '#- datetime.vbs
- '#- Modified Date: 09-Jun-2017
- '#- Example:
- '#- for /f "tokens=1-6" %%i in ('cscript //nologo "datetime.vbs"') do (
- '#- set "year=%%~i"
- '#- set "mon=%%~j"
- '#- set "day=%%~k"
- '#- set "hour=%%~l"
- '#- set "min=%%~m"
- '#- set "sec=%%~n"
- '#- )
- '#-----------------------------------------------------------------------------
- Option Explicit
- Dim nowDateTime, nowYear, nowMonth, nowDay, nowHour, nowMinute, nowSecond
- Dim resDateTime
- Dim i, tmpArray
- Function twoDigits(inValue)
- If inValue < 10 Then
- inValue = "0" & inValue
- End If
- twoDigits = inValue
- End Function
- nowDateTime = Now()
- nowYear = DatePart("yyyy", nowDateTime)
- nowMonth = DatePart("m", nowDateTime)
- nowDay = DatePart("d", nowDateTime)
- nowHour = DatePart("h", nowDateTime)
- nowMinute = DatePart("n", nowDateTime)
- nowSecond = DatePart("s", nowDateTime)
- tmpArray = Array(nowYear, nowMonth, nowDay, nowHour, nowMinute, nowSecond)
- For i = 0 to UBound(tmpArray)
- If i > 0 Then
- resDateTime = resDateTime & "_" & twoDigits(tmpArray(i))
- Else
- resDateTime = twoDigits(tmpArray(i))
- End If
- Next
- WScript.Echo resDateTime
複製代碼 謝 bongbong3481 修正。 |