Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 16x 16x 16x 16x 15x 4x 4x 15x 4x 4x 15x 4x 4x 15x 4x 4x 15x 15x 15x 15x 4x 4x 15x 4x 4x 15x 16x 16x 16x | export interface IDateAddOptions {
years?: number;
months?: number;
days?: number;
hours?: number;
minutes?: number;
seconds?: number;
}
export const add = (date: Date, options?: IDateAddOptions): Date => {
let newDate = new Date(date);
let nbOfSecondsToAdd = 0;
if (options != undefined) {
if (options.days != undefined) {
nbOfSecondsToAdd += options.days * 60 * 60 * 24;
}
if (options.hours != undefined) {
nbOfSecondsToAdd += options.hours * 60 * 60;
}
if (options.minutes != undefined) {
nbOfSecondsToAdd += options.minutes * 60;
}
if (options.seconds != undefined) {
nbOfSecondsToAdd += options.seconds;
}
newDate = new Date(date.getTime() + nbOfSecondsToAdd * 1000);
if (options.months != undefined) {
newDate = new Date(newDate.setMonth(newDate.getMonth() + options.months));
}
if (options.years != undefined) {
newDate = new Date(newDate.setFullYear(newDate.getFullYear() + options.years));
}
}
return newDate;
};
|