Missing javascript Date object utilities
npm i datility --saveyarn add datilitypnpm add datilityAll methods are accessible via Date object. With this line all methods, properties and so on added to the Date object.
import "datility";
console.log(new Date(2022, 5, 3).addDays(1)); // => Sat Jun 04 2022 00:00:00 GMT+0300 (GMT+03:00)Also, can import methods from the specified category:
import "datility";import "datility/manipulate";
import "datility/manipulate/add";
import "datility/manipulate/subtract";
import "datility/manipulate/reference";import "datility/comparison";import "datility/working-days";Add day(s) to the Date.
new Date(2022, 6, 9).addDays(3); // => Tue Jul 12 2022 00:00:00 GMT+0300 (GMT+03:00)Add working day(s) to the Date.
new Date(2022, 6, 9).addWorkingDays(3); // => Wed Jul 13 2022 00:00:00 GMT+0300 (GMT+03:00)Add week(s) to the Date.
new Date(2022, 6, 9).addWeeks(3); // => Sat Jul 30 2022 00:00:00 GMT+0300 (GMT+03:00)Add month(s) to the Date.
new Date(2022, 6, 9).addMonths(3); // => Sun Oct 09 2022 00:00:00 GMT+0300 (GMT+03:00)Add year(s) to the Date.
new Date(2022, 6, 9).addYears(3); // => Wed Jul 09 2025 00:00:00 GMT+0300 (GMT+03:00)Subtract day(s) from the Date.
new Date(2022, 6, 9).subtractDays(3); // => Wed Jul 06 2022 00:00:00 GMT+0300 (GMT+03:00)Subtract working day(s) from the Date.
new Date(2022, 6, 8).subtractWorkingDays(4); // => Mon Jun 27 2022 00:00:00 GMT+0300 (GMT+03:00)Subtract week(s) from the Date.
new Date(2022, 6, 9).subtractWeeks(3); // => Sat Jun 18 2022 00:00:00 GMT+0300 (GMT+03:00)Subtract month(s) from the Date.
new Date(2022, 6, 9).subtractMonths(3); // => Sat Apr 09 2022 00:00:00 GMT+0300 (GMT+03:00)Subtract year(s) from the Date.
new Date(2022, 6, 9).subtractYears(3); // => Tue Jul 09 2019 00:00:00 GMT+0300 (GMT+03:00)Clone the Date by value.
const date = new Date(2022, 5, 9);
console.log(date, date.clone().addDays(10)); // => Sat Jun 09 2022 00:00:00 GMT+0300 (GMT+03:00), Sat Jun 19 2022 00:00:00 GMT+0300 (GMT+03:00)Check if the Date is before the given Date.
new Date(2022, 5, 9).isBefore(new Date(2022, 5, 10)); // => true
new Date(2022, 5, 9).isBefore(new Date(2022, 5, 9)); // => false
new Date(2022, 5, 9).isBefore(new Date(2022, 5, 8)); // => falseCheck if the Date is the same as the given Date.
new Date(2022, 5, 9).isSame(new Date(2022, 5, 9)); // => true
new Date(2022, 5, 9).isSame(new Date(2022, 5, 10)); // => falseCheck if the Date is after the given Date.
new Date(2022, 5, 9).isAfter(new Date(2022, 5, 8)); // => true
new Date(2022, 5, 9).isAfter(new Date(2022, 5, 9)); // => false
new Date(2022, 5, 9).isAfter(new Date(2022, 5, 10)); // => falseCheck if the Date is the same or before the given Date.
new Date(2022, 5, 9).isSameOrBefore(new Date(2022, 5, 10)); // => true
new Date(2022, 5, 9).isSameOrBefore(new Date(2022, 5, 10)); // => true
new Date(2022, 5, 9).isSameOrBefore(new Date(2022, 5, 8)); // => falseCheck if the Date is the same or after the given Date.
new Date(2022, 5, 9).isSameOrAfter(new Date(2022, 5, 8)); // => true
new Date(2022, 5, 9).isSameOrAfter(new Date(2022, 5, 9)); // => true
new Date(2022, 5, 9).isSameOrAfter(new Date(2022, 5, 10)); // => falseCheck if the Date is between the given start and end Date.
new Date(2022, 5, 9).isBetween(new Date(2022, 5, 8), new Date(2022, 5, 10)); // => true
new Date(2022, 5, 9).isBetween(new Date(2022, 5, 8), new Date(2022, 5, 9)); // => false
new Date(2022, 5, 9).isBetween(new Date(2022, 5, 8), new Date(2022, 5, 8)); // => falseCheck if the Date is past the given Date.
new Date(2022, 5, 9).isPast(new Date(2022, 5, 10)); // => false
new Date(2022, 5, 9).isPast(new Date(2022, 5, 9)); // => false
new Date(2022, 5, 9).isPast(new Date(2022, 5, 8)); // => trueCheck if the Date is future the given Date.
new Date(2022, 5, 9).isFuture(new Date(2022, 5, 10)); // => true
new Date(2022, 5, 9).isFuture(new Date(2022, 5, 9)); // => false
new Date(2022, 5, 9).isFuture(new Date(2022, 5, 8)); // => falseCheck if the Date is the given dayName.
new Date(2022, 5, 5).isDay("Sunday"); // => true
new Date(2022, 5, 6).isDay("monday"); // => true
new Date(2022, 5, 7).isDay("Tue"); // => true
new Date(2022, 5, 8).isDay("wed"); // => true
new Date(2022, 5, 9).isDay("Saturday"); // => falseCheck if the Date is a working day.
new Date(2022, 5, 5).isWorkingDay(); // => false
new Date(2022, 5, 6).isWorkingDay(); // => false
new Date(2022, 5, 8).isWorkingDay(); // => trueCheck if the Date is a weekend day.
new Date(2022, 5, 5).isWeekend(); // => true
new Date(2022, 5, 6).isWeekend(); // => true
new Date(2022, 5, 8).isWeekend(); // => falseAdd days working days to the Date.
new Date(2022, 5, 3).addWorkingDays(1); // => Sat Jun 06 2022 00:00:00 GMT+0300 (GMT+03:00)
new Date(2022, 5, 3).addWorkingDays(2); // => Sun Jun 07 2022 00:00:00 GMT+0300 (GMT+03:00)
new Date(2022, 5, 3).addWorkingDays(3); // => Mon Jun 08 2022 00:00:00 GMT+0300 (GMT+03:00)Subtract days working days to the Date.
new Date(2022, 5, 6).subtractWorkingDays(1); // => Fri Jun 03 2022 00:00:00 GMT+0300 (GMT+03:00)
new Date(2022, 5, 6).subtractWorkingDays(2); // => Thu Jun 02 2022 00:00:00 GMT+0300 (GMT+03:00)
new Date(2022, 5, 6).subtractWorkingDays(3); // => Wed Jun 01 2022 00:00:00 GMT+0300 (GMT+03:00)