diff options
| author | Satsuki Yanagi <17376330+u1-liquid@users.noreply.github.com> | 2019-07-25 01:36:48 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-07-25 01:36:48 +0900 |
| commit | 88f5e8e8e2ae759597387f69d579d5915d966b66 (patch) | |
| tree | b1534e994e464c194fce9122fe60e8f0546e2730 /src/prelude | |
| parent | Merge branch 'develop' of https://github.com/syuilo/misskey into develop (diff) | |
| download | misskey-88f5e8e8e2ae759597387f69d579d5915d966b66.tar.gz misskey-88f5e8e8e2ae759597387f69d579d5915d966b66.tar.bz2 misskey-88f5e8e8e2ae759597387f69d579d5915d966b66.zip | |
Bye moment from package.json (#5215)
* Bye moment from package.json
* Use Mapped types for argument type definition
Diffstat (limited to 'src/prelude')
| -rw-r--r-- | src/prelude/time.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/prelude/time.ts b/src/prelude/time.ts new file mode 100644 index 0000000000..b1824b42ee --- /dev/null +++ b/src/prelude/time.ts @@ -0,0 +1,31 @@ +const dateTimeIntervals = { + 'days': 86400000, + 'hours': 3600000, +}; + +export function DateUTC(time: number[]): Date { + const r = new Date(0); + r.setUTCFullYear(time[0], time[1], time[2]); + if (time[3]) r.setUTCHours(time[3], ...time.slice(4)); + return r; +} + +export function isTimeSame(a: Date, b: Date): boolean { + return (a.getTime() - b.getTime()) === 0; +} + +export function isTimeBefore(a: Date, b: Date): boolean { + return (a.getTime() - b.getTime()) < 0; +} + +export function isTimeAfter(a: Date, b: Date): boolean { + return (a.getTime() - b.getTime()) > 0; +} + +export function addTimespan(x: Date, value: number, span: keyof typeof dateTimeIntervals): Date { + return new Date(x.getTime() + (value * dateTimeIntervals[span])); +} + +export function subtractTimespan(x: Date, value: number, span: keyof typeof dateTimeIntervals): Date { + return new Date(x.getTime() - (value * dateTimeIntervals[span])); +} |