Overview
The support for Date type date sorting support is built in including multiple language support and does not require any additional server installation - this is the recommended type to use for date sorting.
Acknowledgement
Advanced date sorting support with the Date column type is provided using JavaScript implemented by the Table Library for Bob Swift Apps with the help of the Moment.js library (open source, MIT license). A summary of the relevant parts of the Moment.js documentation is repeated here.
Automatic support
If the Date column type is specified, the default date parsing recognizes a number of common date formats including those recognized by the browser specific JavaScript implementation. However, there may be browser specific inconsistencies. The following ISO-8601 formats are recognized consistently across browsers:
User specified formats
Specify a format string following the Date column type to handle a specific date format. Construct the date format string from the set of format tokens.
Non-alphanumeric characters
Non-alphanumeric characters are ignored, so, for example, both of the following are treated the same using the MM-DD-YYYY format:
12-25-1995 12/25/1995
Similarly, formats can be specified with or with non-alphanumeric separators. However, using separators helps with readability.
Format tokens
See the Moment.js documentation for further information.
Token | Description |
---|---|
M, MM | Month Number (1 - 12) |
MMM, MMMM | Month Name (In current language) |
D, DD | Day of month |
DDD, DDDD | Day of year |
d, dd, ddd, dddd | Day of week (NOTE: the input for these tokens is ignored, as there are 4-5 weeks in a month, and it would be impossible to get the day of the month based off the day of the week) |
YY | 2 digit year (if greater than 68 will return 1900's, otherwise 2000's) |
YYYY | 4 digit year |
a, A | AM/PM |
H, HH | 24 hour time |
h, hh | 12 hour time (use in conjunction with a or A) |
m, mm | Minutes |
s, ss | Seconds |
S | Deciseconds (1/10th of a second) |
SS | Centiseconds (1/100th of a second) |
SSS | Milliseconds (1/1000th of a second) |
Z, ZZ | Timezone offset as +07:00 or +0700 |
X | Unix timestamp |
Language support (i18n)
When the date format contains national language words, the appropriate language needs to be indicated. English (US) is the default, if nothing is specified. Specify the language between the date indicator M and the format string.
For example: M(de)YYYY-MMM-DD for a German date like 2013-Mrz-10
M(fr) for a French date like Janv 10, 2013
Supported languages
Click the relevant link from the following list of Moment.js library supported languages to get the details of the specific localization: