MCPcopy Index your code
hub / github.com/angular/angular / getDateFormatter

Function getDateFormatter

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

Source from the content-addressed store, hash-verified

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

Used in the wild real call sites across dependent graphs

searching dependent graphs…