Contents / Introduction / Usage / Main Window /
Settings / Sub-Folders / Date Formatting / Custom Camera Profiles /
Troubleshooting /
About Credits /

Introduction
------------
The following is courtesy of the Borland Delphi help regarding
formatting of date/time values into strings.

Date/Time format strings control the formatting of dates and times.

Description
-----------
Date-Time Format Strings specify the formatting of date-time values when
they are converted to strings. 

Date Time Format Strings are composed from specifiers that represent
values to be inserted into the formatted string. Some specifiers (such
as "d"), simply format numbers or strings. Other specifiers (such as "/")
refer to locale-specific strings from global variables.


In the following table, specifiers are given in lower case. Case is
ignored in formats, except for the "am/pm" and "a/p" specifiers.

Specifier      Displays
------------------------------------------------------------------------
c              Displays the date using the format given by the
               ShortDateFormat global variable, followed by the time
               using the format given by the LongTimeFormat global
               variable. 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) using the
               strings given by the ShortDayNames global variable.
dddd           Displays the day as a full name (Sunday-Saturday) using
               the strings given by the LongDayNames global variable.
ddddd          Displays the date using the format given by the
               ShortDateFormat global variable.
dddddd         Displays the date using the format given by the
               LongDateFormat global variable.
e              Displays the year in the current period/era as a number
               without a leading zero (Japanese, Korean and Taiwanese
               locales only).
ee             Displays the year in the current period/era as a number
               with a leading zero (Japanese, Korean and Taiwanese
               locales only).
g              Displays the period/era as an abbreviation (Japanese and
               Taiwanese locales only).
gg             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) using the
               strings given by the ShortMonthNames global variable.
mmmm           Displays the month as a full name (January-December)
               using the strings given by the LongMonthNames global
               variable.
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
               ShortTimeFormat global variable.
tt             Displays the time using the format given by the
               LongTimeFormat global variable.
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, and displays the contents of the TimeAMString
               global variable for any hour before noon, and the
               contents of the TimePMString global variable for any hour
               after noon.
/              Displays the date separator character given by the
               DateSeparator global variable.
:              Displays the time separator character given by the
               TimeSeparator global variable.
'xx'/"xx"      Characters enclosed in single or double quotes are
               displayed as-is, and do not affect formatting.
         	     
         	     
Examples
--------
In the following examples we'll use a date-time of 
 5th April 1970, 10:32pm

Specifier         Displays
------------------------------------------------------------------------
yyyy-mm-dd        1970-04-05
yy-mm-dd - hh-nn  70-04-05 - 22-32
yyyy-mm-dd_hh-nn  1970-04-05_22-32


We prefer to name our sub-folders based on what the shoot was and the date of
the transfer - As we tend to transfer the files pretty soon after they where 
shot this gives a great indication of when the shoot was too.

For our example, we also like the folders to easily sort in age order. Instead 
of relying on Windows folder creation and modification times - which can change 
due to files & folders being moved, we use the date in an US format which
naturally sorts dates in alphabetical order too (oldest first).

For example, take 2 dates:-

 14 March 2006
 27 September 2001

In alphabetical order, the 14th March 2006 will come before 27th September 2001.
In order to correct this, we convert the dates to US format and we have

2006-03-14
2001-09-27

This then allows 2001-09-27 to come before 2006-03-14 alphabetially. For that
reason we use a "yyyy-mm-dd" format.


Notes
-----
Due to restrictions in the ability of Windows to use certain characters
in file names, you will not be able to use any of the following in your 
format specifier: -
    \ / : * ? " < > |
cardWatch © 2007 opcs
Written By Neil Farquharson