582ed6c5a49c24ccbfb9462565c5afacddfa12beeee3a5d07eafed927c53d5c70c502396d38d7e654f951722fab7339c44a0e4dfb7ae4be8e699027847a814 670 B

123456789101112131415161718192021222324252627
  1. import { addFormatToken } from '../format/format';
  2. import { addUnitAlias } from './aliases';
  3. import { addRegexToken, match1 } from '../parse/regex';
  4. import { addParseToken } from '../parse/token';
  5. import { MONTH } from './constants';
  6. import toInt from '../utils/to-int';
  7. // FORMATTING
  8. addFormatToken('Q', 0, 'Qo', 'quarter');
  9. // ALIASES
  10. addUnitAlias('quarter', 'Q');
  11. // PARSING
  12. addRegexToken('Q', match1);
  13. addParseToken('Q', function (input, array) {
  14. array[MONTH] = (toInt(input) - 1) * 3;
  15. });
  16. // MOMENTS
  17. export function getSetQuarter (input) {
  18. return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
  19. }