-1
val = "0"&now
MSGBOX VAL「我得到‘0’1,如2017年1月16日下午10點10分12秒前面沒有得到添加日期VB腳本
如果我把它改成
val2 = DateAdd("d",2,"0"&Now)
MSGBOX VAL2「我不是在1
前獲得‘0’任何想法,我是怎麼了?
val = "0"&now
MSGBOX VAL「我得到‘0’1,如2017年1月16日下午10點10分12秒前面沒有得到添加日期VB腳本
如果我把它改成
val2 = DateAdd("d",2,"0"&Now)
MSGBOX VAL2「我不是在1
前獲得‘0’任何想法,我是怎麼了?
您不保留格式(從下層數據創建奇特的字符串)和操縱/計算數據不同。
' The concatenation operator & converts its operands to strings
WScript.Echo 1, TypeName(Date()), TypeName(Date() & "")
' DateAdd() converts its third argument to a date
WScript.Echo 2, DateAdd("d", 1, "0" & Date())
' Fails
WScript.Echo 3, DateAdd("d", 1, "BAD" & Date())
輸出:
1 Date String
2 18.01.2017
e:\misc\x.vbs(6, 1) Laufzeitfehler in Microsoft VBScript: Typenkonflikt: '[string: "BAD17.01.2017"]'
的 「0」 你在前面加上ADDDATE()調用是失去了在轉換;返回的值是一個不知道零填充的日期。
我認爲你將不得不建立它:
' Add your required day
' ------------------------
nNowAdd = DateAdd("d", 2, Now())
' Build the date/time string from components
' with leading zeros -> Right("0" & Blah, 2)
' ------------------------------------------
val2 = Right("0" & Day(nNowAdd), 2) & "/" & _
Right("0" & Month(nNowAdd), 2) & "/" & Year(nNowAdd) & _
" " & Right("0" & Hour(nNowAdd), 2) & ":" & Right("0" & Minute(nNowAdd), 2)
這是一個常見的錯誤作出。當計算日期值時,確保你正在使用日期,當你準備好格式化日期以顯示某種方式*(零填充等)*轉換爲字符串。因此,像平常一樣執行你的'DateAdd()',然後格式化它。請參閱[格式化當前日期和時間](http://stackoverflow.com/a/22575530/692942)。 – Lankymart