You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
920 B
37 lines
920 B
import { addFormatToken } from '../format/format';
|
|
import { addUnitAlias } from './aliases';
|
|
import { addUnitPriority } from './priorities';
|
|
import { addRegexToken, match3, match1to3 } from '../parse/regex';
|
|
import { addParseToken } from '../parse/token';
|
|
import toInt from '../utils/to-int';
|
|
|
|
// FORMATTING
|
|
|
|
addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
|
|
|
|
// ALIASES
|
|
|
|
addUnitAlias('dayOfYear', 'DDD');
|
|
|
|
// PRIORITY
|
|
addUnitPriority('dayOfYear', 4);
|
|
|
|
// PARSING
|
|
|
|
addRegexToken('DDD', match1to3);
|
|
addRegexToken('DDDD', match3);
|
|
addParseToken(['DDD', 'DDDD'], function (input, array, config) {
|
|
config._dayOfYear = toInt(input);
|
|
});
|
|
|
|
// HELPERS
|
|
|
|
// MOMENTS
|
|
|
|
export function getSetDayOfYear(input) {
|
|
var dayOfYear =
|
|
Math.round(
|
|
(this.clone().startOf('day') - this.clone().startOf('year')) / 864e5
|
|
) + 1;
|
|
return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');
|
|
}
|
|
|