Formats date
to a string based on the requested format
.
format
string can be composed of the following elements:
'yyyy'
: 4 digit representation of year (e.g. AD 1 => 0001, AD 2010 => 2010)'yy'
: 2 digit representation of year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)'y'
: 1 digit representation of year, e.g. (AD 1 => 1, AD 199 => 199)'MMMM'
: Month in year (January-December)'MMM'
: Month in year (Jan-Dec)'MM'
: Month in year, padded (01-12)'M'
: Month in year (1-12)'dd'
: Day in month, padded (01-31)'d'
: Day in month (1-31)'EEEE'
: Day in Week,(Sunday-Saturday)'EEE'
: Day in Week, (Sun-Sat)'HH'
: Hour in day, padded (00-23)'H'
: Hour in day (0-23)'hh'
: Hour in am/pm, padded (01-12)'h'
: Hour in am/pm, (1-12)'mm'
: Minute in hour, padded (00-59)'m'
: Minute in hour (0-59)'ss'
: Second in minute, padded (00-59)'s'
: Second in minute (0-59)'a'
: am/pm marker'Z'
: 4 digit (+sign) representation of the timezone offset (-1200-1200)format
string can also be one of the following predefined
localizable formats:
'medium'
: equivalent to 'MMM d, y h:mm:ss a'
for en_US locale
(e.g. Sep 3, 2010 12:05:08 pm)'short'
: equivalent to 'M/d/yy h:mm a'
for en_US locale (e.g. 9/3/10 12:05 pm)'fullDate'
: equivalent to 'EEEE, MMMM d,y'
for en_US locale
(e.g. Friday, September 3, 2010)'longDate'
: equivalent to 'MMMM d, y'
for en_US locale (e.g. September 3, 2010'mediumDate'
: equivalent to 'MMM d, y'
for en_US locale (e.g. Sep 3, 2010)'shortDate'
: equivalent to 'M/d/yy'
for en_US locale (e.g. 9/3/10)'mediumTime'
: equivalent to 'h:mm:ss a'
for en_US locale (e.g. 12:05:08 pm)'shortTime'
: equivalent to 'h:mm a'
for en_US locale (e.g. 12:05 pm)format
string can contain literal values. These need to be quoted with single quotes (e.g.
"h 'in the morning'"
). In order to output single quote, use two single quotes in a sequence
(e.g. "h o''clock"
).
{{ date_expression | date[:format] }}
$filter('date')(date[, format])
date – {(Date|number|string)} –
Date to format either as Date object, milliseconds (string or number) or various ISO 8601 datetime string formats (e.g. yyyy-MM-ddTHH:mm:ss.SSSZ and it's shorter versions like yyyy-MM-ddTHH:mmZ, yyyy-MM-dd or yyyyMMddTHHmmssZ).
format(optional) – {string=} –
Formatting rules (see Description). If not specified,
mediumDate
is used.
{string}
– Formatted string or the input if input is not recognized as date/millis.
<span ng-non-bindable>{{1288323623006 | date:'medium'}}</span>: {{1288323623006 | date:'medium'}}<br> <span ng-non-bindable>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>: {{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}<br> <span ng-non-bindable>{{1288323623006 | date:'MM/dd/yyyy @ h:mma'}}</span>: {{'1288323623006' | date:'MM/dd/yyyy @ h:mma'}}<br>
it('should format date', function() { expect(binding("1288323623006 | date:'medium'")). toMatch(/Oct 2\d, 2010 \d{1,2}:\d{2}:\d{2} (AM|PM)/); expect(binding("1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'")). toMatch(/2010\-10\-2\d \d{2}:\d{2}:\d{2} \-?\d{4}/); expect(binding("'1288323623006' | date:'MM/dd/yyyy @ h:mma'")). toMatch(/10\/2\d\/2010 @ \d{1,2}:\d{2}(AM|PM)/); });