36e67069ff88f42ac25886624c859424af661d40f68e78b8f994ef6b8959b3149fa0baa666fe4edbef20133a1b76bfc73afca43e9f9f8fc674505e633b70eb 896 B

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