Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/asim-tahir/datility
Missing javascript Date object utilities 📅
https://github.com/asim-tahir/datility
date date-utilities date-utility date-utils datility javascript utilities utility
Last synced: about 19 hours ago
JSON representation
Missing javascript Date object utilities 📅
- Host: GitHub
- URL: https://github.com/asim-tahir/datility
- Owner: Asim-Tahir
- License: mit
- Created: 2022-06-02T10:42:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-07T02:02:17.000Z (over 1 year ago)
- Last Synced: 2023-11-03T20:20:17.015Z (about 1 year ago)
- Topics: date, date-utilities, date-utility, date-utils, datility, javascript, utilities, utility
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/datility
- Size: 99.6 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Datility 📅
Missing javascript
Date
object utilities## Installation
```bash
npm i datility --save
``````bash
yarn add datility
``````bash
pnpm add datility
```## Usage
All methods are accessible via [`Date`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) object. With this line all methods, properties and so on added to the `Date` object.
```ts
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:
```ts
import "datility";
```#### `manipulate` category
```ts
import "datility/manipulate";
import "datility/manipulate/add";
import "datility/manipulate/subtract";
import "datility/manipulate/reference";
```#### `comparison` category
```ts
import "datility/comparison";
```#### `working-days` category
```ts
import "datility/working-days";
```## Methods
### Manipulate Category
#### Add Methods
####
addDays(days: number): Date
Add day(s) to the `Date`.
```ts
new Date(2022, 6, 9).addDays(3); // => Tue Jul 12 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
addWorkingDays(days: number): Date
Add working day(s) to the `Date`.
```ts
new Date(2022, 6, 9).addWorkingDays(3); // => Wed Jul 13 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
addWeeks(months: number): Date
Add week(s) to the `Date`.
```ts
new Date(2022, 6, 9).addWeeks(3); // => Sat Jul 30 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
addMonths(months: number): Date
Add month(s) to the `Date`.
```ts
new Date(2022, 6, 9).addMonths(3); // => Sun Oct 09 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
addYears(years: number): Date
Add year(s) to the `Date`.
```ts
new Date(2022, 6, 9).addYears(3); // => Wed Jul 09 2025 00:00:00 GMT+0300 (GMT+03:00)
```
#### Subtract Methods
####
subtractDays(days: number): Date
Subtract day(s) from the `Date`.
```ts
new Date(2022, 6, 9).subtractDays(3); // => Wed Jul 06 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
subtractWorkingDays(days: number): Date
Subtract working day(s) from the `Date`.
```ts
new Date(2022, 6, 8).subtractWorkingDays(4); // => Mon Jun 27 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
subtractWeeks(months: number): Date
Subtract week(s) from the `Date`.
```ts
new Date(2022, 6, 9).subtractWeeks(3); // => Sat Jun 18 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
subtractMonths(months: number): Date
Subtract month(s) from the `Date`.
```ts
new Date(2022, 6, 9).subtractMonths(3); // => Sat Apr 09 2022 00:00:00 GMT+0300 (GMT+03:00)
```####
subtractYears(years: number): Date
Subtract year(s) from the `Date`.
```ts
new Date(2022, 6, 9).subtractYears(3); // => Tue Jul 09 2019 00:00:00 GMT+0300 (GMT+03:00)
```
#### Reference Methods
####
clone(): Date
Clone the `Date` by value.
```ts
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)
```
#### Comparison Category
####
isBefore(given: Date): boolean
Check if the `Date` is before the given `Date`.
```ts
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)); // => false
```####
isSame(given: Date): boolean
Check if the `Date` is the same as the given `Date`.
```ts
new Date(2022, 5, 9).isSame(new Date(2022, 5, 9)); // => true
new Date(2022, 5, 9).isSame(new Date(2022, 5, 10)); // => false
```####
isAfter(given: Date): boolean
Check if the `Date` is after the given `Date`.
```ts
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)); // => false
```####
isSameOrBefore(given: Date): boolean
Check if the `Date` is the same or before the given `Date`.
```ts
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)); // => false
```####
isSameOrAfter(given: Date): boolean
Check if the `Date` is the same or after the given `Date`.
```ts
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)); // => false
```####
isBetween(start: Date, end: Date): boolean
Check if the `Date` is between the given `start` and `end` `Date`.
```ts
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)); // => false
```####
isPast(given: Date): boolean
Check if the `Date` is past the given `Date`.
```ts
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)); // => true
```####
isFuture(given: Date): boolean
Check if the `Date` is future the given `Date`.
```ts
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)); // => false
```####
isDay(dayName: DayName): boolean
Check if the `Date` is the given `dayName`.
```ts
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"); // => false
```
#### Working Days Category
####
isWorkingDay(): boolean
Check if the `Date` is a working day.
```ts
new Date(2022, 5, 5).isWorkingDay(); // => false
new Date(2022, 5, 6).isWorkingDay(); // => false
new Date(2022, 5, 8).isWorkingDay(); // => true
```####
isWeekend(): boolean
Check if the `Date` is a weekend day.
```ts
new Date(2022, 5, 5).isWeekend(); // => true
new Date(2022, 5, 6).isWeekend(); // => true
new Date(2022, 5, 8).isWeekend(); // => false
```####
addWorkingDays(days: number): Date
Add `days` working days to the `Date`.
```ts
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)
```####
subtractWorkingDays(days: number): Date
Subtract `days` working days to the `Date`.
```ts
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)
```## License
[MIT License](LICENSE)