aio-date
v8.1.1
Published
```javascript npm install aio-date ```
Downloads
383
Readme
aio-date
all calculations of dates (gregorian and jalali)
instalation
npm install aio-dateuse
import AIODate from 'aio-date';date property of all functions can be:
string
'2022/4/5'(year is 2022 month is 4 day is 5)'2022/4/5/12/30'(year is 2022 month is 4 day is 5 hour is 12 minute is 30)
array
[2022,4,5](year is 2022 month is 4 day is 5)[2022,4,5,12,30](year is 2022 month is 4 day is 5 hour is 12 minute is 30)
iso date
'2015-03-25T12:00:00Z'
miliseconds date
16765675665656
for use AIODate class
import AIODate from 'aio-date';
const inst = new AIODate()toJalali
type:
(date:number | string | number[])=>number[]Example:
let result = inst.toJalali('2022/4/4');
//result is [1401,1,15]toGregorian
type:
(date:number | string | number[])=>number[]Example:
let result = inst.toGregorian('1400/2/2');
//result is [2021,4,22] getToday
type:
(jalali?:boolean)=>number[]Gregorian Example
let gregorianToday = inst.getToday();
//result is [2023,3,12,20,26,57,9]Jalali Example
let jalaliToday = AIODate().getToday(true);
//result is [1401,12,21,20,26,57,9]getWeekDay
type:
(date:string | number | number[])=>{weekDay:string,index:number}Gregorian Example
let {weekDay,index} = inst.getWeekDay('2023/6/6');
//weekday is TUESDAY
//index is 2Jalali Example
let {weekDay,index} = inst.getWeekDay('1401/5/7');
//weekday is جمعه
//index is 6getDateByPattern
type:
(date: string | num,ber | number[], pattern: string) => stringExample:
let result = inst.getDateByPattern('2023/4/5','{year}/{month}/{day} {weekDay}');
//result is '2023/4/5 WEDNESDAY'let result = inst.getDateByPattern('2023/4/5','{day} {monthString} {year} {weekDay}');
//result is '5 APRIL 2023 WEDNESDAY'let result = inst.getDateByPattern('2023/4/5/10/30','{year}/{month}/{day} {hour}:{minute}');
//result is '2023/4/5 10:30'let result = inst.getDateByPattern([2023,4,5,10,30],'{year}/{month}/{day} {hour}:{minute}');
//result is '2023/4/5 10:30'toArray
type:
(date: string | number | number[], jalali?: boolean) => number[]Example:
let result = inst.toArray('2022/4/4');
//result is [2022,4,4]let result = inst.toArray(1432445566787);
//result is [2015,5,24,10,2,46,8]toObject
type:
(
date:
string |
number |
number[] |
{year:number,month:number,day:number,hour:number,minute:number,second:number,tenthsecond:number},
jalali?: boolean
) => {year:number,month:number,day:number,hour:number,minute:number,second:number,tenthsecond:number}Example:
let result = inst.toObject('2022/4/4');
//result is {year:2022,month:4,day:4,hour:0,minute:0,second:0,tenthsecond:0}let result = inst.toObject(1432445566787);
//result is {year:2015,month:5,day:24,hour:10,minute:2,second:46,tenthsecond:8}getTime
type:
(date: string | number | number[], jalali?: boolean) => numberExample:
let result = inst.getTime('2022/4/5');
//result is 1649100600000let result = inst.getTime('2022/4/5/10/30');
//result is 1649138400000let result = inst.getTime([2022,4,5,10,30]);
//result is 1649138400000let result = inst.getTime('2015-03-25T12:00:00Z');
//result is 1427268600000let result = inst.getTime(1755555656665);
//result is 1755555656665let result = inst.getTime('1402/3/3');
//result is 1684873800000compaire
type:
(date1: string | number | number[], date2: string | number | number[]) => 'less' | 'greater' | 'equal'Example:
let result = inst.compaire('2022/4/4','2022/7/10');
//result is 'less'let result = inst.compaire('2022/4/4','2022/2/10')
//result is 'greater'let result = inst.compaire('2022/4/4','2022/4/4')
//result is 'equal'let result = inst.compaire('2022/4/4',1700000000000)
//result is 'less'let result = inst.compaire('2022/4/4',[2022,2,10])
//result is 'greater'getMonthDaysLength
type:
(date: string | number | number[]) => numberExample:
let result = inst.getMonthDaysLength('2022/4');
//result is 30let result = inst.getMonthDaysLength('2022/7/5');
//result is 31let result = inst.getMonthDaysLength('1400/12');
//result is 29let result = inst.getMonthDaysLength('1399/12');
//result is 30getDelta
type:
(date: string | number | number[], otherDate: string | number | number[], unit?: 'day' | 'hour' | 'minute' | 'second' | 'tenthsecond' | 'milisecond') => {
day: number,
hour: number,
minute: number,
second: number,
tenthsecond: number,
milisecond: number,
type: 'remaining' | 'passed' | 'now'
}Example:
let result = inst.getDelta('2023/4/5',new Date().getTime());
//result is
//{
// "day": 23,
// "hour": 3,
// "minute": 10,
// "second": 57,
// "tenthsecond": 9,
// "type": "remaining"
//}let result = inst.getDelta(new Date().getTime() + 23000,new Date().getTime());
//result is
//{
// "day": 0,
// "hour": 0,
// "minute": 0,
// "second": 23,
// "tenthsecond": 0,
// "type": "remaining"
//}let result = inst.getDelta(date:new Date().getTime() - 23000,new Date().getTime());
//result is
//{
// "day": 0,
// "hour": 0,
// "minute": 0,
// "second": 23,
// "tenthsecond": 0,
// "type": "passed"
//}let res = inst.getDelta('1401/12/12',new Date().getTime());
//res is
//{
// "day": 9,
// "hour": 20,
// "minute": 49,
// "second": 2,
// "tenthsecond": 0,
// "type": "passed"
//}getNextTime
type:
(date: string | number | number[], offset: number, jalali?: boolean) => number[]Example:
let result = AIODate().getNextTime('1400/2/2/22/30',1.5 * 60 * 60 * 1000);getDatesBetween
type:
(date: stirng | number | number[], otherDate: stirng | number | number[], step?: number) => any[]Example:
let result = AIODate().getdatesBetween('2022/4/4','2022/7/10',48 * 60 * 60 * 1000);
//result is [
// "6 APRIL 2022",
// "8 APRIL 2022",
// "10 APRIL 2022",
// "12 APRIL 2022",
// "14 APRIL 2022",
// "16 APRIL 2022",
// "18 APRIL 2022",
// "20 APRIL 2022",
// "22 APRIL 2022",
// "24 APRIL 2022",
// "26 APRIL 2022",
// "28 APRIL 2022",
// "30 APRIL 2022",
// "2 MAY 2022",
// "4 MAY 2022",
// "6 MAY 2022",
// "8 MAY 2022",
// "10 MAY 2022",
// "12 MAY 2022",
// "14 MAY 2022",
// "16 MAY 2022",
// "18 MAY 2022",
// "20 MAY 2022",
// "22 MAY 2022",
// "24 MAY 2022",
// "26 MAY 2022",
// "28 MAY 2022",
// "30 MAY 2022",
// "1 JUNE 2022",
// "3 JUNE 2022",
// "5 JUNE 2022",
// "7 JUNE 2022",
// "9 JUNE 2022",
// "11 JUNE 2022",
// "13 JUNE 2022",
// "15 JUNE 2022",
// "17 JUNE 2022",
// "19 JUNE 2022",
// "21 JUNE 2022",
// "23 JUNE 2022",
// "25 JUNE 2022",
// "27 JUNE 2022",
// "29 JUNE 2022",
// "1 JULY 2022",
// "3 JULY 2022",
// "5 JULY 2022",
// "7 JULY 2022",
// "9 JULY 2022"
//]
date is required (string | array | number)
otherDate is required (string | array | number)
step is required (number) (miliseconds)
pattern is optional (string)
