Sub FormatDateTime($format As String, $date As DateTime) As String

Formats the $date value as a string, using the format specified in $format.


Parameters


  • $format ... String expression. See the table below.
  • $date ... DateTime value that is converted.


Format strings


In the following table, specifiers are shown in lowercase. The format is case-insensitive, except for the "am/pm" and "a/p" specifiers.


Specifier

Displays

c

Displays the date followed by the time using the long date/time format. The time is not displayed if the date-time value indicates midnight precisely.

d

Displays the day as a number without a leading zero (1-31).

dd

Displays the day as a number with a leading zero (01-31).

ddd

Displays the day as an abbreviation (Sun-Sat).

dddd

Displays the day as a full name (Sunday-Saturday).

ddddd

Displays the date using the short date format.

dddddd

Displays the date using the long date format.

m

Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.

mm

Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.

mmm

Displays the month as an abbreviation (Jan-Dec).

mmmm

Displays the month as a full name (January-December).

yy

Displays the year as a two-digit number (00-99).

yyyy

Displays the year as a four-digit number (0000-9999).

h

Displays the hour without a leading zero (0-23).

hh

Displays the hour with a leading zero (00-23).

n

Displays the minute without a leading zero (0-59).

nn

Displays the minute with a leading zero (00-59).

s

Displays the second without a leading zero (0-59).

ss

Displays the second with a leading zero (00-59).

z

Displays the millisecond without a leading zero (0-999).

zzz

Displays the millisecond with a leading zero (000-999).

t

Displays the time using the short time format.

tt

Displays the time using the long time format.

am/pm

Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

a/p

Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.

'xx'/"xx"

Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.



Example:

Dim $s

$s = FormatDateTime("yyyy-mm-dd hh:nn:ss", Now())
' returns eg. $s = "2023-11-16 13:12:57"