chronoshift
Version:
A tiny library for shifting time with timezones
47 lines • 1.93 kB
TypeScript
import type { Timezone } from '../timezone/timezone';
import type { ImmutableClassInstance } from '../utils/utils';
export interface DurationValue {
year?: number;
month?: number;
week?: number;
day?: number;
hour?: number;
minute?: number;
second?: number;
[span: string]: number | undefined;
}
export declare class Duration implements ImmutableClassInstance<DurationValue, string> {
readonly singleSpan?: string;
readonly spans: DurationValue;
static fromJS(durationStr: string): Duration;
static fromCanonicalLength(length: number, skipMonths?: boolean): Duration;
static fromCanonicalLengthUpToDays(length: number): Duration;
static fromRange(start: Date, end: Date, timezone: Timezone): Duration;
constructor(spans: DurationValue | string);
constructor(start: Date, end: Date, timezone: Timezone);
toString(short?: boolean): string;
add(duration: Duration): Duration;
subtract(duration: Duration): Duration;
multiply(multiplier: number): Duration;
valueOf(): DurationValue;
toJS(): string;
toJSON(): string;
equals(other: Duration | undefined): boolean;
isSimple(): boolean;
isFloorable(): boolean;
makeFloorable(): Duration;
floor(date: Date, timezone: Timezone): Date;
ceil(date: Date, timezone: Timezone): Date;
shift(date: Date, timezone: Timezone, step?: number): Date;
round(date: Date, timezone: Timezone): Date;
range(date: Date, timezone: Timezone): [Date, Date];
materialize(start: Date, end: Date, timezone: Timezone, step?: number): Date[];
isAligned(date: Date, timezone: Timezone): boolean;
dividesBy(smaller: Duration): boolean;
getCanonicalLength(): number;
getDescription(capitalize?: boolean): string;
getSingleSpan(): string | undefined;
getSingleSpanValue(): number | undefined;
limitToDays(): Duration;
}
//# sourceMappingURL=duration.d.ts.map