MCPcopy Create free account
hub / github.com/angular/angular / getDateFormatter

Function getDateFormatter

packages/common/src/i18n/format_date.ts:581–889  ·  view source on GitHub ↗
(format: string)

Source from the content-addressed store, hash-verified

579// See also explanations: http://cldr.unicode.org/translation/date-time
580// TODO(ocombe): support all missing cldr formats: U, Q, D, F, e, j, J, C, A, v, V, X, x
581function getDateFormatter(format: string): DateFormatter | null {
582 if (DATE_FORMATS[format]) {
583 return DATE_FORMATS[format];
584 }
585 let formatter;
586 switch (format) {
587 // Era name (AD/BC)
588 case 'G':
589 case 'GG':
590 case 'GGG':
591 formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Abbreviated);
592 break;
593 case 'GGGG':
594 formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Wide);
595 break;
596 case 'GGGGG':
597 formatter = dateStrGetter(TranslationType.Eras, TranslationWidth.Narrow);
598 break;
599
600 // 1 digit representation of the year, e.g. (AD 1 => 1, AD 199 => 199)
601 case 'y':
602 formatter = dateGetter(DateType.FullYear, 1, 0, false, true);
603 break;
604 // 2 digit representation of the year, padded (00-99). (e.g. AD 2001 => 01, AD 2010 => 10)
605 case 'yy':
606 formatter = dateGetter(DateType.FullYear, 2, 0, true, true);
607 break;
608 // 3 digit representation of the year, padded (000-999). (e.g. AD 2001 => 01, AD 2010 => 10)
609 case 'yyy':
610 formatter = dateGetter(DateType.FullYear, 3, 0, false, true);
611 break;
612 // 4 digit representation of the year (e.g. AD 1 => 0001, AD 2010 => 2010)
613 case 'yyyy':
614 formatter = dateGetter(DateType.FullYear, 4, 0, false, true);
615 break;
616
617 // 1 digit representation of the week-numbering year, e.g. (AD 1 => 1, AD 199 => 199)
618 case 'Y':
619 formatter = weekNumberingYearGetter(1);
620 break;
621 // 2 digit representation of the week-numbering year, padded (00-99). (e.g. AD 2001 => 01, AD
622 // 2010 => 10)
623 case 'YY':
624 formatter = weekNumberingYearGetter(2, true);
625 break;
626 // 3 digit representation of the week-numbering year, padded (000-999). (e.g. AD 1 => 001, AD
627 // 2010 => 2010)
628 case 'YYY':
629 formatter = weekNumberingYearGetter(3);
630 break;
631 // 4 digit representation of the week-numbering year (e.g. AD 1 => 0001, AD 2010 => 2010)
632 case 'YYYY':
633 formatter = weekNumberingYearGetter(4);
634 break;
635
636 // Month of the year (1-12), numeric
637 case 'M':
638 case 'L':

Callers 1

formatDateFunction · 0.85

Calls 5

dateStrGetterFunction · 0.85
dateGetterFunction · 0.85
weekNumberingYearGetterFunction · 0.85
weekGetterFunction · 0.85
timeZoneGetterFunction · 0.85

Tested by

no test coverage detected