Formatting dates and time

The Format function can also be used on Date/Time serial numbers to extract and format all kinds of information ranging from seconds to days to years. There are a handful of named format strings and constructing your own strings are not out of the question. No one except Bill usually memorizes the formatting characters, so I'll just dump a list of them on you here.

Formatting numbers as date/time expressions

Expression

Result

Format(36715.5784, "general date")

7/8/00 1:52:54 PM

Format(36715.5784, "short date")

7/8/00

Format(36715.5784, "medium date")

08-Jul-00

Format(36715.5784, "long date")

Saturday, July 08, 2000

Format(36715.5784, "short time")

13:52

Format(36715.5784, "medium time")

01:52 PM

Format(36715.5784, "long time")

1:52:54 PM

Format(36715.5784, "c")

7/8/00 1:52:54 PM

Format(36715.5784, "d")

8

Format(36715.5784, "dd")

08

Format(36715.5784, "ddd")

Sat

Format(36715.5784, "dddd")

Saturday

Format(36715.5784, "ddddd")

7/8/00

Format(36715.5784, "dddddd")

Saturday, July 08, 2000

Format(36715.5784, "w")

7

Format(36715.5784, "ww")

28

Format(36715.5784, "m")

7

Format(36715.5784, "mm")

07

Format(36715.5784, "mmm")

Jul

Format(36715.5784, "mmmm")

July

Format(36715.5784, "q")

3

Format(36715.5784, "y")

190

Format(36715.5784, "yy")

00

Format(36715.5784, "yyyy")

2000

Format(36715.5784, "h")

13

Format(36715.5784, "hh")

13

Format(36715.5784, "n")

52

Format(36715.5784, "nn")

52

Format(36715.5784, "s")

54

Format(36715.5784, "ss")

54

Format(36715.5784, "ttttt")

1:52:54 PM

Format(36715.5784, "AM/PM")

PM

Format(36715.5784, "am/pm")

pm

Format(36715.5784, "A/P")

P

Format(36715.5784, "a/p")

p

Format(36715.5784, "AMPM")

PM

Notes: Some of this formatting is duplicated by easier-to-use Date and Time functions. Results of the named formats (short date, medium date, etc.) may vary depending on Control Panel Regional Settings.

  • Format "w" returns day of week (1 = Sunday, 7 = Saturday)
  • Format "ww" returns week of year (1-53)
  • Format "y" returns day of year (1-366)
  • Format "h" returns hour of day as one or two digits...if necessary
  • Format "hh" returns hour of day as two digits...definitely
  • Above applies to "n"/"nn", and "s"/"ss" as well
  • Format "AMPM" uses settings from WIN.INI [intl] s1159=AM, s2359=PM

Try mixing and matching the format strings

Expression

Result

Format(36715.5784, "m-d-yy")

7-8-00

Format(36715.5784, "d-mmmm-y")

8-July-00

Format(36715.5784, "mmmm yyyy")

July 2000

Format(36715.5784, "hh:mm a/p")

01:52 p

Format(36715.5784, "m/d/yy h:mm")

7/8/00 13:52

New VB 6.0 formatting functions

FormatCurrency, FormatPercent, FormatNumber
Previously, you would have used code similar to:
     result = Format(324.45, "currency")
     result = Format(324.45, "percent")
     result = Format(324.45, "standard")
These methods would now be considered deprecated in favor of:
     result = FormatCurrency(324.45)
     result = FormatPercent(324.45, 0)
     result = FormatNumber(324.45, 2)
Bill's new formatting functions includes 4 optional arguments for specifying the number of digits after the decimal, and whether or not to use a leading 0, parentheses for negative values, or a comma for thousands separator. If you would just as soon use the settings from the user's Control Panel, ignore the last 4 arguments.

'Use default Control Panel Regional Settings
result = FormatCurrency(number)
'Default digits after decimal, no leading zeros or thousands separator
result = FormatNumber(number, , False, , False)
'One digit after decimal, no parentheses
result = FormatPercent(number, 1, , False)

FormatDateTime

This new function works about the same as the regular Format function, but you're only allowed to use one of 5 constants - vbGeneralDate, vbLongDate, vbShortDate, vbLongTime, vbShortTime. I don't see this function as any kind of language improvement.

Online Casino
Neteller

Copyright © 2005, 2006 Joren NetSoft
All rights reserved.