HFS: Time format

From rejetto wiki
Jump to: navigation, search

Numerical format

In some places you are required to enter time in a very strange format you may have never seen before. It's the format used by Delphi, which was used to make HFS.

To stay simple: it is the number of days. To express something shorter than a day, you can use decimals. So, 1.5 will express a day and an half, or 36 hours if you like. When it must be considered an absolute date, it's the number of days that have passed since 12/30/1899. In this case 1.5 will be 12 o'clock in 12/31/1899.

Text formatting

Some macros, like time, may let you specify the way to display time.

In such cases, these symbols are substituted with the corresponding value.

Specifier Displays
c Displays the date and time using the format given by the system (short version). 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 format given by the system (short version).
dddddd Displays the date using the format given by the system (long version).
e (Windows only) Displays the year in the current period/era as a number without a leading zero (Japanese, Korean and Taiwanese locales only).
ee (Windows only) Displays the year in the current period/era as a number with a leading zero (Japanese, Korean and Taiwanese locales only).
g (Windows only) Displays the period/era as an abbreviation (Japanese and Taiwanese locales only).
gg (Windows only) Displays the period/era as a full name. (Japanese and Taiwanese locales only).
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).
y Displays the date and time as a number, in the format declared here above.
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 format given by the system (short version).
tt\ Displays the time using the format given by the system (long version).
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.
ampm Uses the 12-hour clock for the preceding h or hh specifier.
/ Displays the date separator character given by the system.
 : Displays the time separator character given by the system.
'xx'/"xx" Characters enclosed in single or double quotes are displayed as-is, and do not affect formatting.