Utils: `dates`
Table of contents
Type Aliases
Variables
Functions
- addToDate
- addToDateFP
- formatDateValue
- getDate
- getHours
- getMilliseconds
- getMinutes
- getMonth
- getSeconds
- getTime
- getTimeBetween
- getTimeBetweenFP
- getTimezoneOffset
- getTimezoneOffsetFP
- getUTCDate
- getUTCHours
- getUTCMinutes
- getUTCMonth
- getUTCYear
- getUnixTime
- getValidDate
- getValidDateOrNumberOrThrow
- getValidDateOrThrow
- getValidDateWithTimezone
- getValidDateWithTimezoneOrThrow
- getYear
- isAfter
- isBefore
- isBetween
- isDateTuple
- isFriday
- isFuture
- isISO8601
- isLeapYear
- isMonday
- isPast
- isSaturday
- isSunday
- isThursday
- isToday
- isTomorrow
- isTuesday
- isUnixTime
- isUnixTimeFP
- isValidDate
- isValidDateInstance
- isWednesday
- isWeekday
- isWeekend
- isYesterday
- makeISODate
- parseCustomDateFormat
- parseDateValue
- setDate
- setHours
- setMilliseconds
- setMinutes
- setMonth
- setSeconds
- setTimezone
- setTimezoneFP
- setYear
- subtractFromDate
- subtractFromDateFP
- timezoneToOffset
- toEpochMSOrThrow
- toHumanTime
- toISO8601
- toTimeZone
- toTimeZoneUsingLocation
- toTimeZoneUsingLocationFP
- trackTimeout
- trimISODateSegment
Type Aliases
AdjustDateArgs
Ƭ AdjustDateArgs: { expr
: string
} | { days?
: number
; hours?
: number
; milliseconds?
: number
; minutes?
: number
; months?
: number
; seconds?
: number
; weeks?
: number
; years?
: number
}
Defined in
packages/utils/src/dates.ts:724
Variables
getDurationFunc
• Const
getDurationFunc: Object
Type declaration
Name | Type | ||
---|---|---|---|
ISOWeekYears | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
businessDays | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarDays | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarISOWeekYears | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarMonths | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarQuarters | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarWeeks | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
calendarYears | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
days | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
hours | (dateLeft : number \ | Date , dateRight : number \ | Date , options? : {}) => number |
milliseconds | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
minutes | (dateLeft : number \ | Date , dateRight : number \ | Date , options? : {}) => number |
months | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
quarters | (dateLeft : number \ | Date , dateRight : number \ | Date , options? : {}) => number |
seconds | (dateLeft : number \ | Date , dateRight : number \ | Date , options? : {}) => number |
weeks | (dateLeft : number \ | Date , dateRight : number \ | Date , options? : {}) => number |
years | (dateLeft : number \ | Date , dateRight : number \ | Date ) => number |
Defined in
packages/utils/src/dates.ts:553
timezoneOffset
• Const
timezoneOffset: number
Defined in
packages/utils/src/dates.ts:54
Functions
addToDate
▸ addToDate(input
, args
): number
Parameters
Name | Type |
---|---|
input | unknown |
args | AdjustDateArgs |
Returns
number
Defined in
packages/utils/src/dates.ts:737
addToDateFP
▸ addToDateFP(args
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
args | AdjustDateArgs |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:747
formatDateValue
▸ formatDateValue(value
, format
): string
| number
Format the parsed date value
Parameters
Name | Type | ||
---|---|---|---|
value | number \ | Date \ | DateTuple |
format | undefined \ | string |
Returns
string
| number
Defined in
packages/utils/src/dates.ts:523
getDate
▸ getDate(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:955
getHours
▸ getHours(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:945
getMilliseconds
▸ getMilliseconds(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:922
getMinutes
▸ getMinutes(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:935
getMonth
▸ getMonth(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:964
getSeconds
▸ getSeconds(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:926
getTime
▸ getTime(val?
): number
| false
Ensure unix time
Parameters
Name | Type |
---|---|
val? | DateInputTypes |
Returns
number
| false
Defined in
packages/utils/src/dates.ts:249
getTimeBetween
▸ getTimeBetween(input
, args
): string
| number
Parameters
Name | Type |
---|---|
input | unknown |
args | GetTimeBetweenArgs |
Returns
string
| number
Defined in
packages/utils/src/dates.ts:573
getTimeBetweenFP
▸ getTimeBetweenFP(args
): (input
: unknown
) => string
| number
A functional version of getTimeBetween
Parameters
Name | Type |
---|---|
args | GetTimeBetweenArgs |
Returns
fn
▸ (input
): string
| number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
string
| number
Defined in
packages/utils/src/dates.ts:611
getTimezoneOffset
▸ getTimezoneOffset(input
, timezone
): number
Given a date and timezone, it will return the offset from UTC in minutes. This is more accurate than timezoneToOffset as it can better account for day lights saving time
Parameters
Name | Type |
---|---|
input | unknown |
timezone | string |
Returns
number
Defined in
packages/utils/src/dates.ts:820
getTimezoneOffsetFP
▸ getTimezoneOffsetFP(timezone
): (input
: unknown
) => number
Given a timezone, it will return a function that will take in dates that will be converted the offset in minutes. This is more accurate than timezoneToOffset as it can better account for day lights saving time
Parameters
Name | Type |
---|---|
timezone | string |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:834
getUTCDate
▸ getUTCDate(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:950
getUTCHours
▸ getUTCHours(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:940
getUTCMinutes
▸ getUTCMinutes(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:930
getUTCMonth
▸ getUTCMonth(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:960
getUTCYear
▸ getUTCYear(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:968
getUnixTime
▸ getUnixTime(val?
): number
| false
Parameters
Name | Type |
---|---|
val? | DateInputTypes |
Returns
number
| false
Defined in
packages/utils/src/dates.ts:256
getValidDate
▸ getValidDate(val
, relativeNow?
): Date
| false
Coerces value into a valid date, returns false if it is invalid. Has added support for converting from date math (i.e. now+1h, now-1m, now+2d/y, 2021-01-01||+2d)
Parameters
Name | Type |
---|---|
val | unknown |
relativeNow | Date |
Returns
Date
| false
Defined in
packages/utils/src/dates.ts:122
getValidDateOrNumberOrThrow
▸ getValidDateOrNumberOrThrow(val
): Date
| number
Returns a valid date or throws, {@see getValidDate}
Parameters
Name | Type |
---|---|
val | unknown |
Returns
Date
| number
Defined in
packages/utils/src/dates.ts:232
getValidDateOrThrow
▸ getValidDateOrThrow(val
): Date
Returns a valid date or throws, {@see getValidDate}
Parameters
Name | Type |
---|---|
val | unknown |
Returns
Date
Defined in
packages/utils/src/dates.ts:159
getValidDateWithTimezone
▸ getValidDateWithTimezone(val
, getUTC?
): Date
| false
Returns a valid date with the timezone applied {@see getValidDate}
Parameters
Name | Type | Default value |
---|---|---|
val | unknown | undefined |
getUTC | boolean | false |
Returns
Date
| false
Defined in
packages/utils/src/dates.ts:221
getValidDateWithTimezoneOrThrow
▸ getValidDateWithTimezoneOrThrow(val
, getUTC?
): Date
Returns a valid date with the timezone applied or throws{@see getValidDate}
Parameters
Name | Type | Default value |
---|---|---|
val | unknown | undefined |
getUTC | boolean | false |
Returns
Date
Defined in
packages/utils/src/dates.ts:210
getYear
▸ getYear(input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:972
isAfter
▸ isAfter(input
, date
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
date | DateInputTypes |
Returns
boolean
Defined in
packages/utils/src/dates.ts:780
isBefore
▸ isBefore(input
, date
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
date | DateInputTypes |
Returns
boolean
Defined in
packages/utils/src/dates.ts:769
isBetween
▸ isBetween(input
, args
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
args | Object |
args.end | DateInputTypes |
args.start | DateInputTypes |
Returns
boolean
Defined in
packages/utils/src/dates.ts:791
isDateTuple
▸ isDateTuple(input
): input is DateTuple
Verify if an input is a Date Tuple
Parameters
Name | Type |
---|---|
input | unknown |
Returns
input is DateTuple
Defined in
packages/utils/src/dates.ts:363
isFriday
▸ isFriday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:652
isFuture
▸ isFuture(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:682
isISO8601
▸ isISO8601(input
): input is string
Checks to see if an input is a ISO 8601 date
Parameters
Name | Type |
---|---|
input | unknown |
Returns
input is string
Defined in
packages/utils/src/dates.ts:284
isLeapYear
▸ isLeapYear(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:696
isMonday
▸ isMonday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:624
isPast
▸ isPast(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:689
isSaturday
▸ isSaturday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:659
isSunday
▸ isSunday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:617
isThursday
▸ isThursday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:645
isToday
▸ isToday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:710
isTomorrow
▸ isTomorrow(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:703
isTuesday
▸ isTuesday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:631
isUnixTime
▸ isUnixTime(input
, allowBefore1970?
): input is number
Checks to see if an input is a unix time
Parameters
Name | Type | Default value |
---|---|---|
input | unknown | undefined |
allowBefore1970 | boolean | true |
Returns
input is number
Defined in
packages/utils/src/dates.ts:265
isUnixTimeFP
▸ isUnixTimeFP(allowBefore1970?
): (input
: unknown
) => input is number
A functional version of isUnixTime
Parameters
Name | Type |
---|---|
allowBefore1970? | boolean |
Returns
fn
▸ (input
): input is number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
input is number
Defined in
packages/utils/src/dates.ts:275
isValidDate
▸ isValidDate(val
): boolean
A simplified implementation of moment(new Date(val)).isValid()
Parameters
Name | Type |
---|---|
val | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:72
isValidDateInstance
▸ isValidDateInstance(val
): val is Date
Parameters
Name | Type |
---|---|
val | unknown |
Returns
val is Date
Defined in
packages/utils/src/dates.ts:243
isWednesday
▸ isWednesday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:638
isWeekday
▸ isWeekday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:666
isWeekend
▸ isWeekend(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:674
isYesterday
▸ isYesterday(input
): boolean
Parameters
Name | Type |
---|---|
input | unknown |
Returns
boolean
Defined in
packages/utils/src/dates.ts:717
makeISODate
▸ makeISODate(value?
): string
A helper function for making an ISODate string
Parameters
Name | Type | ||||
---|---|---|---|---|---|
value? | null \ | string \ | number \ | Date \ | DateTuple |
Returns
string
Defined in
packages/utils/src/dates.ts:59
parseCustomDateFormat
▸ parseCustomDateFormat(value
, format
, referenceDate
): number
Parameters
Name | Type |
---|---|
value | unknown |
format | string |
referenceDate | Date |
Returns
number
Defined in
packages/utils/src/dates.ts:471
parseDateValue
▸ parseDateValue(value
, format
, referenceDate
): number
Parse a date value (that has already been validated) and return the epoch millis time.
Parameters
Name | Type | |
---|---|---|
value | unknown | |
format | undefined \ | string |
referenceDate | Date |
Returns
number
Defined in
packages/utils/src/dates.ts:496
setDate
▸ setDate(date
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
date | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:889
setHours
▸ setHours(hours
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
hours | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:878
setMilliseconds
▸ setMilliseconds(ms
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
ms | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:845
setMinutes
▸ setMinutes(minutes
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
minutes | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:867
setMonth
▸ setMonth(month
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
month | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:900
setSeconds
▸ setSeconds(seconds
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
seconds | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:856
setTimezone
▸ setTimezone(input
, timezone
): DateTuple
Set the timezone offset of a date, returns a date tuple
Parameters
Name | Type | |
---|---|---|
input | unknown | |
timezone | string \ | number |
Returns
DateTuple
Defined in
packages/utils/src/dates.ts:336
setTimezoneFP
▸ setTimezoneFP(timezone
): (input
: unknown
) => DateTuple
A curried version of setTimezone
Parameters
Name | Type | |
---|---|---|
timezone | string \ | number |
Returns
fn
▸ (input
): DateTuple
Parameters
Name | Type |
---|---|
input | unknown |
Returns
DateTuple
Defined in
packages/utils/src/dates.ts:344
setYear
▸ setYear(year
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
year | number |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:911
subtractFromDate
▸ subtractFromDate(input
, args
): number
Parameters
Name | Type |
---|---|
input | unknown |
args | AdjustDateArgs |
Returns
number
Defined in
packages/utils/src/dates.ts:753
subtractFromDateFP
▸ subtractFromDateFP(args
): (input
: unknown
) => number
Parameters
Name | Type |
---|---|
args | AdjustDateArgs |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:763
timezoneToOffset
▸ timezoneToOffset(timezone
): number
Given a timezone, it will return the minutes of its offset from UTC time
Parameters
Name | Type |
---|---|
timezone | unknown |
Returns
number
Defined in
packages/utils/src/dates.ts:809
toEpochMSOrThrow
▸ toEpochMSOrThrow(input
): DateTuple
| number
Will convert a date to its epoch millisecond format or throw if invalid
Parameters
Name | Type |
---|---|
input | unknown |
Returns
DateTuple
| number
Defined in
packages/utils/src/dates.ts:977
toHumanTime
▸ toHumanTime(ms
): string
converts smaller than a week milliseconds to human readable time
Parameters
Name | Type |
---|---|
ms | number |
Returns
string
Defined in
packages/utils/src/dates.ts:451
toISO8601
▸ toISO8601(value
): string
Convert a value to an ISO 8601 date string. This should be used over makeISODate
Parameters
Name | Type |
---|---|
value | unknown |
Returns
string
Defined in
packages/utils/src/dates.ts:294
toTimeZone
▸ toTimeZone(val
, timezone
): DateTuple
| null
Parameters
Name | Type |
---|---|
val | unknown |
timezone | string |
Returns
DateTuple
| null
Defined in
packages/utils/src/dates.ts:167
toTimeZoneUsingLocation
▸ toTimeZoneUsingLocation(val
, location
): null
| DateTuple
Parameters
Name | Type |
---|---|
val | unknown |
location | unknown |
Returns
null
| DateTuple
Defined in
packages/utils/src/dates.ts:181
toTimeZoneUsingLocationFP
▸ toTimeZoneUsingLocationFP(location
): (val
: unknown
) => null
| DateTuple
Parameters
Name | Type |
---|---|
location | unknown |
Returns
fn
▸ (val
): null
| DateTuple
Parameters
Name | Type |
---|---|
val | unknown |
Returns
null
| DateTuple
Defined in
packages/utils/src/dates.ts:187
trackTimeout
▸ trackTimeout(timeoutMs
): () => number
| false
track a timeout to see if it expires
Parameters
Name | Type |
---|---|
timeoutMs | number |
Returns
fn
a function that will returns false if the time elapsed
▸ (): number
| false
Returns
number
| false
Defined in
packages/utils/src/dates.ts:438
trimISODateSegment
▸ trimISODateSegment(segment
): (input
: unknown
) => number
Returns a function to trim the ISO 8601 date segment useful for creating yearly, monthly, daily or hourly dates
Parameters
Name | Type |
---|---|
segment | ISO8601DateSegment |
Returns
fn
▸ (input
): number
Parameters
Name | Type |
---|---|
input | unknown |
Returns
number