Вы не сохраняете форматирование (создавая причудливые строки из подстилающих данных) и обрабатывая/вычисляя отдельные данные.
' 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() вызов теряется при преобразовании; возвращаемое значение - это дата, которая не имеет представления об нулевом заполнении.
Это общая ошибка сделать. При вычислении значений даты убедитесь, что вы работаете с датой, когда вы готовы отформатировать дату, чтобы отобразить определенный способ * (нулевое дополнение и т. Д.) * Преобразовать в строку. Поэтому выполните свой «DateAdd()» как обычно, а затем отформатируйте его. См. [Формат текущей даты и времени] (http://stackoverflow.com/a/22575530/692942). – Lankymart