Если вы не возражаете против использования небольшого VBScript, вы можете использовать что-то вроде этого:
' http://classicasp.aspfaq.com/date-time-routines-manipulation/can-i-make-vbscript-format-dates-for-me.html
' Use MSSTDFMT to mimic VB's Format() function. Provides more flexibility in
' formatting dates than the VBScript FormatDateTime() function.
On Error Resume Next
dim fmt
dim rs
set fmt = WScript.CreateObject("MSSTDFMT.StdDataFormat")
set rs = WScript.CreateObject("ADODB.Recordset")
rs.Fields.Append "fldExpression", 12 ' adVariant
rs.Open
rs.AddNew
fmt.Format = WScript.Arguments(0)
rs("fldExpression").DataFormat = fmt
rs("fldExpression").Value = Now()
WScript.Echo rs("fldExpression").Value
rs.close
set fmt = nothing
set rs = nothing
WScript.Quit(0)
Я положил это в файл с именем formatDate.vbs. Затем вы можете позвонить из командной строки, передавая в нужном вам формате:
C:>cscript //nologo formatDate.vbs "mm-dd-yyyy"
04-02-2009
C:>cscript //nologo formatDate.vbs "dd-mm-yyyy"
02-04-2009
C:>cscript //nologo formatDate.vbs "dd-MMM-yy"
02-Apr-09
C:>cscript //nologo formatDate.vbs "mm/dd/yyyy hh:mm"
04/02/2009 10:10
C:>cscript //nologo formatDate.vbs "dddddd ttttt"
Friday, April 03, 2009 6:48:57 AM
C:>cscript //nologo formatDate.vbs "General Date"
4/3/2009 6:49:53 AM
См. Предопределенные форматы даты / времени и Определяемые пользователем форматы даты / времени в MSDN для полного списка форматов, которые вы можете использовать.
Примечание:
Объект MSSTDFMT зависит от доступности MSSTDFMT.dll, который устанавливается Visual Studio 6.0.
MSSTDFMT.dll, по-видимому, доступен на серверах Windows XP и Windows 2003; Я проверил несколько машин, на которых никогда не было установленной MS Visual Studio и присутствовала DLL.