@@ -267,8 +267,11 @@ function weekGetter(size) {
267
267
} ;
268
268
}
269
269
270
- function ampmGetter ( date , formats ) {
271
- return date . getHours ( ) < 12 ? formats . AMPMS [ 0 ] : formats . AMPMS [ 1 ] ;
270
+ function ampmGetter ( capitalLetters ) {
271
+ var ampms = ( capitalLetters ) ? 'AMPMS' : 'ampms' ;
272
+ return function ( date , formats ) {
273
+ return date . getHours ( ) < 12 ? formats [ ampms ] [ 0 ] : formats [ ampms ] [ 1 ] ;
274
+ } ;
272
275
}
273
276
274
277
var DATE_FORMATS = {
@@ -294,13 +297,14 @@ var DATE_FORMATS = {
294
297
sss : dateGetter ( 'Milliseconds' , 3 ) ,
295
298
EEEE : dateStrGetter ( 'Day' ) ,
296
299
EEE : dateStrGetter ( 'Day' , true ) ,
297
- a : ampmGetter ,
300
+ a : ampmGetter ( false ) ,
301
+ A : ampmGetter ( true ) ,
298
302
Z : timeZoneGetter ,
299
303
ww : weekGetter ( 2 ) ,
300
304
w : weekGetter ( 1 )
301
305
} ;
302
306
303
- var DATE_FORMATS_SPLIT = / ( (?: [ ^ y M d H h m s a Z E w ' ] + ) | (?: ' (?: [ ^ ' ] | ' ' ) * ' ) | (?: E + | y + | M + | d + | H + | h + | m + | s + | a | Z | w + ) ) ( .* ) / ,
307
+ var DATE_FORMATS_SPLIT = / ( (?: [ ^ y M d H h m s a A Z E w ' ] + ) | (?: ' (?: [ ^ ' ] | ' ' ) * ' ) | (?: E + | y + | M + | d + | H + | h + | m + | s + | a | A | Z | w + ) ) ( .* ) / ,
304
308
NUMBER_STRING = / ^ \- ? \d + $ / ;
305
309
306
310
/**
@@ -333,24 +337,25 @@ var DATE_FORMATS_SPLIT = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d
333
337
* * `'ss'`: Second in minute, padded (00-59)
334
338
* * `'s'`: Second in minute (0-59)
335
339
* * `'.sss' or ',sss'`: Millisecond in second, padded (000-999)
336
- * * `'a'`: am/pm marker
340
+ * * `'a'`: am/pm marker, lowercase (am/pm)
341
+ * * `'A'`: am/pm marker, uppercase (AM/PM)
337
342
* * `'Z'`: 4 digit (+sign) representation of the timezone offset (-1200-+1200)
338
343
* * `'ww'`: ISO-8601 week of year (00-53)
339
344
* * `'w'`: ISO-8601 week of year (0-53)
340
345
*
341
346
* `format` string can also be one of the following predefined
342
347
* {@link guide/i18n localizable formats}:
343
348
*
344
- * * `'medium'`: equivalent to `'MMM d, y h:mm:ss a '` for en_US locale
349
+ * * `'medium'`: equivalent to `'MMM d, y h:mm:ss A '` for en_US locale
345
350
* (e.g. Sep 3, 2010 12:05:08 pm)
346
- * * `'short'`: equivalent to `'M/d/yy h:mm a '` for en_US locale (e.g. 9/3/10 12:05 pm)
351
+ * * `'short'`: equivalent to `'M/d/yy h:mm A '` for en_US locale (e.g. 9/3/10 12:05 pm)
347
352
* * `'fullDate'`: equivalent to `'EEEE, MMMM d, y'` for en_US locale
348
353
* (e.g. Friday, September 3, 2010)
349
354
* * `'longDate'`: equivalent to `'MMMM d, y'` for en_US locale (e.g. September 3, 2010)
350
355
* * `'mediumDate'`: equivalent to `'MMM d, y'` for en_US locale (e.g. Sep 3, 2010)
351
356
* * `'shortDate'`: equivalent to `'M/d/yy'` for en_US locale (e.g. 9/3/10)
352
- * * `'mediumTime'`: equivalent to `'h:mm:ss a '` for en_US locale (e.g. 12:05:08 pm)
353
- * * `'shortTime'`: equivalent to `'h:mm a '` for en_US locale (e.g. 12:05 pm)
357
+ * * `'mediumTime'`: equivalent to `'h:mm:ss A '` for en_US locale (e.g. 12:05:08 pm)
358
+ * * `'shortTime'`: equivalent to `'h:mm A '` for en_US locale (e.g. 12:05 pm)
354
359
*
355
360
* `format` string can contain literal values. These need to be escaped by surrounding with single quotes (e.g.
356
361
* `"h 'in the morning'"`). In order to output a single quote, escape it - i.e., two single quotes in a sequence
0 commit comments