Licence
ISC
Version
8.1.4
Deps
0
Size
48 kB
Vulns
0
Weekly
0
aio-date
all calculations of dates (gregorian and jalali)
instalation
npm install aio-date
use
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 2
Jalali Example
let {weekDay,index} = inst.getWeekDay('1401/5/7');
//weekday is جمعه
//index is 6
getDateByPattern
type:
(date: string | num,ber | number[], pattern: string) => string
Example:
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) => number
Example:
let result = inst.getTime('2022/4/5');
//result is 1649100600000
let result = inst.getTime('2022/4/5/10/30');
//result is 1649138400000
let result = inst.getTime([2022,4,5,10,30]);
//result is 1649138400000
let result = inst.getTime('2015-03-25T12:00:00Z');
//result is 1427268600000
let result = inst.getTime(1755555656665);
//result is 1755555656665
let result = inst.getTime('1402/3/3');
//result is 1684873800000
compaire
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[]) => number
Example:
let result = inst.getMonthDaysLength('2022/4');
//result is 30
let result = inst.getMonthDaysLength('2022/7/5');
//result is 31
let result = inst.getMonthDaysLength('1400/12');
//result is 29
let result = inst.getMonthDaysLength('1399/12');
//result is 30
getDelta
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"
//]