@stephenhebert/datetime-iso8601
Version:
A small library to simplify parsing and timezone conversion of computer date formats
36 lines (35 loc) • 1.17 kB
TypeScript
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, };