UNPKG

@stephenhebert/datetime-iso8601

Version:

A small library to simplify parsing and timezone conversion of computer date formats

36 lines (35 loc) 1.17 kB
interface DateComponents { year: number; month: number; day: number; } interface TimeComponents { hour: number; minute: number; second: number; } interface TimeZoneOffsetComponents { tzOffsetHour: number; tzOffsetMinute: number; } type DateTimeComponents = DateComponents & TimeComponents & TimeZoneOffsetComponents; interface DateObject { date: string; } interface TimeObject { time: string; } interface TimeZoneOffsetObject { tzOffset: string; } interface WeekdayObject { weekday: string; } interface WeekdayIndexObject { weekdayIndex: number; } type ParsedTimeComponents = DateTimeComponents & DateObject & TimeObject & TimeZoneOffsetObject & WeekdayObject & WeekdayIndexObject; type BuildComponents = Partial<DateComponents & TimeComponents & TimeZoneOffsetComponents & DateObject & TimeObject & TimeZoneOffsetObject>; type DateTimeComponentKey = keyof DateTimeComponents; type ParsedTimeComponentKey = keyof ParsedTimeComponents; export type { BuildComponents, DateComponents, DateTimeComponentKey, DateTimeComponents, ParsedTimeComponentKey, ParsedTimeComponents, TimeComponents, TimeZoneOffsetComponents, };