fd99e14d91335faded18fa1df111996a46c4d3c0e5de298e75aa42ba53afb20d7eab1a9e34d09588f523baf188eb72843a3896dd59c3917d6d612bdbc72d22 990 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { addFormatToken } from '../format/format';
  2. import { addUnitAlias } from './aliases';
  3. import { addUnitPriority } from './priorities';
  4. import { addRegexToken, match3, match1to3 } from '../parse/regex';
  5. import { daysInYear } from './year';
  6. import { createUTCDate } from '../create/date-from-array';
  7. import { addParseToken } from '../parse/token';
  8. import toInt from '../utils/to-int';
  9. // FORMATTING
  10. addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
  11. // ALIASES
  12. addUnitAlias('dayOfYear', 'DDD');
  13. // PRIORITY
  14. addUnitPriority('dayOfYear', 4);
  15. // PARSING
  16. addRegexToken('DDD', match1to3);
  17. addRegexToken('DDDD', match3);
  18. addParseToken(['DDD', 'DDDD'], function (input, array, config) {
  19. config._dayOfYear = toInt(input);
  20. });
  21. // HELPERS
  22. // MOMENTS
  23. export function getSetDayOfYear (input) {
  24. var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
  25. return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
  26. }