infinite-unixtime 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of infinite-unixtime might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.md +76 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/unixtime.d.ts +36 -0
- package/dist/unixtime.d.ts.map +1 -0
- package/dist/unixtime.js +98 -0
- package/dist/unixtime.js.map +1 -0
- package/dist/util.d.ts +19 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +253 -0
- package/dist/util.js.map +1 -0
- package/package.json +49 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 SARO Lab
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# unlimite UNIXTIME
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### [Online Demo](https://dat.saro.me/--/tool/times)
|
|
5
|
+
|
|
6
|
+
- Quick Start
|
|
7
|
+
```
|
|
8
|
+
npm install infinite-unixtime
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- Unlimited Time Range
|
|
12
|
+
```javascript
|
|
13
|
+
console.log(Unixtime.fromUtc(23948921773421234n, 1, 31).toIsoStringUtc());
|
|
14
|
+
console.log(Unixtime.from(-3472472928838282881717114n, 12, 31).toIsoStringUtc());
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
- Example
|
|
18
|
+
```javascript
|
|
19
|
+
u = Unixtime.fromMillis(0);
|
|
20
|
+
assert.equal(u.toIsoStringUtc(), '1970-01-01T00:00:00.000Z');
|
|
21
|
+
assert.equal(u.toIsoString(-540), '1970-01-01T09:00:00.000+09:00');
|
|
22
|
+
assert.equal(u.toIsoString(-720), '1970-01-01T12:00:00.000+12:00');
|
|
23
|
+
assert.equal(u.toIsoString(720), '1969-12-31T12:00:00.000-12:00');
|
|
24
|
+
console.log(u.toIsoStringUtc());
|
|
25
|
+
console.log();
|
|
26
|
+
|
|
27
|
+
u = Unixtime.fromMillis(0);
|
|
28
|
+
console.log(u.toIsoStringUtc());
|
|
29
|
+
u = Unixtime.fromMillis(-1);
|
|
30
|
+
console.log(u.toIsoStringUtc());
|
|
31
|
+
u = Unixtime.from(1969, 12, 31)
|
|
32
|
+
console.log(u.toIsoStringUtc());
|
|
33
|
+
console.log();
|
|
34
|
+
|
|
35
|
+
u = Unixtime.from(1969, 12, 30)
|
|
36
|
+
console.log(u.toIsoStringUtc());
|
|
37
|
+
console.log();
|
|
38
|
+
|
|
39
|
+
u = Unixtime.fromUtc(0, 1, 1);
|
|
40
|
+
assert.equal(u.time, -62167219200000n)
|
|
41
|
+
assert.equal(u.getWeekShort(0), 'Sat')
|
|
42
|
+
console.log(u.toIsoStringUtc());
|
|
43
|
+
console.log();
|
|
44
|
+
|
|
45
|
+
u = Unixtime.fromUtc(-2, 12, 31, 23, 59, 59);
|
|
46
|
+
assert.equal(u.time, -62198755201000n)
|
|
47
|
+
assert.equal(u.getWeekShort(0), 'Thu')
|
|
48
|
+
console.log(u.toIsoStringUtc());
|
|
49
|
+
console.log();
|
|
50
|
+
|
|
51
|
+
u = Unixtime.fromUtc(-4, 2, 29, 23, 59, 59);
|
|
52
|
+
assert.equal(u.time, -62288265601000n)
|
|
53
|
+
assert.equal(u.getWeekShort(0), 'Thu')
|
|
54
|
+
console.log(u.toIsoStringUtc());
|
|
55
|
+
console.log();
|
|
56
|
+
|
|
57
|
+
u = Unixtime.fromUtc(-2000, 2, 29, 23, 59, 59);
|
|
58
|
+
assert.equal(u.time, -125275939201000n)
|
|
59
|
+
assert.equal(u.getWeekShort(0), 'Tue')
|
|
60
|
+
console.log(u.toIsoStringUtc());
|
|
61
|
+
console.log();
|
|
62
|
+
|
|
63
|
+
u = Unixtime.fromUtc(-2000, 3, 1, 0, 0, 0);
|
|
64
|
+
assert.equal(u.time, -125275939200000n)
|
|
65
|
+
assert.equal(u.getWeekShort(0), 'Wed')
|
|
66
|
+
console.log(u.toIsoStringUtc());
|
|
67
|
+
console.log();
|
|
68
|
+
|
|
69
|
+
u = Unixtime.now();
|
|
70
|
+
console.log('string', u.toString())
|
|
71
|
+
console.log('string', u.toString())
|
|
72
|
+
console.log('datetime', u.toDateTimeDetail())
|
|
73
|
+
console.log('time', u.time)
|
|
74
|
+
assert.equal(u.toIsoStringUtc(), u.toIsoString(0));
|
|
75
|
+
console.log();
|
|
76
|
+
```
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from "./unixtime.js";
|
|
2
|
+
export type DateTimeDetail = {
|
|
3
|
+
readonly leapYear: boolean;
|
|
4
|
+
readonly year: bigint;
|
|
5
|
+
readonly month: number;
|
|
6
|
+
readonly day: number;
|
|
7
|
+
readonly hours: number;
|
|
8
|
+
readonly minutes: number;
|
|
9
|
+
readonly seconds: number;
|
|
10
|
+
readonly milliseconds: number;
|
|
11
|
+
readonly week: number;
|
|
12
|
+
readonly timezoneOffset: number;
|
|
13
|
+
};
|
|
14
|
+
export type TimeDetail = {
|
|
15
|
+
readonly hours: number;
|
|
16
|
+
readonly minutes: number;
|
|
17
|
+
readonly seconds: number;
|
|
18
|
+
readonly milliseconds: number;
|
|
19
|
+
readonly timezoneOffset: number;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,MAAM,MAAM,cAAc,GAAG;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACnC,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACnC,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DateTimeDetail, TimeDetail } from "./index";
|
|
2
|
+
export declare class Unixtime {
|
|
3
|
+
readonly time: bigint;
|
|
4
|
+
constructor(umillis: bigint);
|
|
5
|
+
static now(): Unixtime;
|
|
6
|
+
static fromDate(date: Date): Unixtime;
|
|
7
|
+
static fromMillis(unixMillis: bigint | number | string): Unixtime;
|
|
8
|
+
static fromSeconds(unixSeconds: bigint | number | string): Unixtime;
|
|
9
|
+
static from(year?: number | bigint, month?: number | bigint, day?: number | bigint, hour?: number | bigint, minute?: number | bigint, second?: number | bigint, millisecond?: number | bigint, timezoneOffset?: number): Unixtime;
|
|
10
|
+
static fromUtc(year?: number | bigint, month?: number | bigint, day?: number | bigint, hour?: number | bigint, minute?: number | bigint, second?: number | bigint, millisecond?: number | bigint): Unixtime;
|
|
11
|
+
toTimeDetail(timezoneOffset?: number): TimeDetail;
|
|
12
|
+
toDateTimeDetail(timezoneOffset?: number): DateTimeDetail;
|
|
13
|
+
format(dateFormat: string, timezoneOffset?: number): string;
|
|
14
|
+
formatUtc(dateFormat: string): string;
|
|
15
|
+
toString(timezoneOffset?: number): string;
|
|
16
|
+
getYear(timezoneOffset?: number): bigint;
|
|
17
|
+
getYearNumber(timezoneOffset?: number): number;
|
|
18
|
+
getMonth(timezoneOffset?: number): number;
|
|
19
|
+
getDay(timezoneOffset?: number): number;
|
|
20
|
+
getWeek(timezoneOffset?: number): number;
|
|
21
|
+
getWeekShort(timezoneOffset?: number): string;
|
|
22
|
+
getWeekLong(timezoneOffset?: number): string;
|
|
23
|
+
getHours(timezoneOffset?: number): number;
|
|
24
|
+
getMinutes(timezoneOffset?: number): number;
|
|
25
|
+
getSeconds(timezoneOffset?: number): number;
|
|
26
|
+
getMilliseconds(timezoneOffset?: number): number;
|
|
27
|
+
toStringUtc(): string;
|
|
28
|
+
toIsoString(timezoneOffset?: number): string;
|
|
29
|
+
toIsoStringUtc(): string;
|
|
30
|
+
plusMillis(milliseconds: number | bigint): Unixtime;
|
|
31
|
+
plusSeconds(seconds: number | bigint): Unixtime;
|
|
32
|
+
plusMinutes(minutes: number | bigint): Unixtime;
|
|
33
|
+
plusHours(hours: number | bigint): Unixtime;
|
|
34
|
+
plusDays(days: number | bigint): Unixtime;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=unixtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unixtime.d.ts","sourceRoot":"","sources":["../src/unixtime.ts"],"names":[],"mappings":"AAYA,OAAO,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AAEnD,qBAAa,QAAQ;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBACV,OAAO,EAAE,MAAM;WAGb,GAAG;WAGH,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ;WAG9B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,QAAQ;WAGtD,WAAW,CAAC,WAAW,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,QAAQ;WAGxD,IAAI,CACd,IAAI,GAAE,MAAM,GAAC,MAAU,EAAE,KAAK,GAAE,MAAM,GAAC,MAAU,EAAE,GAAG,GAAE,MAAM,GAAC,MAAU,EACzE,IAAI,GAAE,MAAM,GAAC,MAAU,EAAE,MAAM,GAAE,MAAM,GAAC,MAAU,EAAE,MAAM,GAAE,MAAM,GAAC,MAAU,EAAE,WAAW,GAAE,MAAM,GAAC,MAAU,EAC7G,cAAc,SAAiC,GAChD,QAAQ;WAGG,OAAO,CACjB,IAAI,GAAE,MAAM,GAAC,MAAU,EAAE,KAAK,GAAE,MAAM,GAAC,MAAU,EAAE,GAAG,GAAE,MAAM,GAAC,MAAU,EACzE,IAAI,GAAE,MAAM,GAAC,MAAU,EAAE,MAAM,GAAE,MAAM,GAAC,MAAU,EAAE,MAAM,GAAE,MAAM,GAAC,MAAU,EAAE,WAAW,GAAE,MAAM,GAAC,MAAU,GAC9G,QAAQ;IAIJ,YAAY,CAAC,cAAc,SAAiC,GAAG,UAAU;IAIzE,gBAAgB,CAAC,cAAc,SAAiC,GAAG,cAAc;IAIjF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,SAAiC,GAAG,MAAM;IAInF,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrC,QAAQ,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIjE,OAAO,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIhE,aAAa,CAAC,cAAc,SAAiC,GAAG,MAAM;IAItE,QAAQ,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIjE,MAAM,CAAC,cAAc,SAAiC,GAAG,MAAM;IAI/D,OAAO,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIhE,YAAY,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIrE,WAAW,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIpE,QAAQ,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIjE,UAAU,CAAC,cAAc,SAAiC,GAAG,MAAM;IAInE,UAAU,CAAC,cAAc,SAAiC,GAAG,MAAM;IAInE,eAAe,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIxE,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,cAAc,SAAiC,GAAG,MAAM;IAIpE,cAAc,IAAI,MAAM;IAIxB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAC,MAAM,GAAG,QAAQ;IAIjD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAC,MAAM,GAAG,QAAQ;IAI7C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAC,MAAM,GAAG,QAAQ;IAI7C,SAAS,CAAC,KAAK,EAAE,MAAM,GAAC,MAAM,GAAG,QAAQ;IAIzC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAC,MAAM,GAAG,QAAQ;CAGjD"}
|
package/dist/unixtime.js
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { _format, _merge_all, _to_date_time_detail, _to_time_detail, _to_week_un_timezone, _with_timezone_offset, MD1, MH1, MM1, MS1 } from "./util";
|
|
2
|
+
export class Unixtime {
|
|
3
|
+
time;
|
|
4
|
+
constructor(umillis) {
|
|
5
|
+
this.time = umillis;
|
|
6
|
+
}
|
|
7
|
+
static now() {
|
|
8
|
+
return new Unixtime(BigInt(new Date().getTime()));
|
|
9
|
+
}
|
|
10
|
+
static fromDate(date) {
|
|
11
|
+
return new Unixtime(BigInt(date.getTime()));
|
|
12
|
+
}
|
|
13
|
+
static fromMillis(unixMillis) {
|
|
14
|
+
return new Unixtime(BigInt(typeof unixMillis === 'number' ? Math.floor(unixMillis) : unixMillis));
|
|
15
|
+
}
|
|
16
|
+
static fromSeconds(unixSeconds) {
|
|
17
|
+
return new Unixtime(BigInt(typeof unixSeconds === 'number' ? Math.floor(unixSeconds) : unixSeconds) * 1000n);
|
|
18
|
+
}
|
|
19
|
+
static from(year = 1, month = 1, day = 1, hour = 0, minute = 0, second = 0, millisecond = 0, timezoneOffset = new Date().getTimezoneOffset()) {
|
|
20
|
+
return new Unixtime(_merge_all(year, month, day, hour, minute, second, millisecond, timezoneOffset));
|
|
21
|
+
}
|
|
22
|
+
static fromUtc(year = 1, month = 1, day = 1, hour = 0, minute = 0, second = 0, millisecond = 0) {
|
|
23
|
+
return new Unixtime(_merge_all(year, month, day, hour, minute, second, millisecond, 0));
|
|
24
|
+
}
|
|
25
|
+
toTimeDetail(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
26
|
+
return _to_time_detail(this.time, timezoneOffset);
|
|
27
|
+
}
|
|
28
|
+
toDateTimeDetail(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
29
|
+
return _to_date_time_detail(this.time, timezoneOffset);
|
|
30
|
+
}
|
|
31
|
+
format(dateFormat, timezoneOffset = new Date().getTimezoneOffset()) {
|
|
32
|
+
return _format(this.toDateTimeDetail(timezoneOffset), dateFormat);
|
|
33
|
+
}
|
|
34
|
+
formatUtc(dateFormat) {
|
|
35
|
+
return _format(this.toDateTimeDetail(0), dateFormat);
|
|
36
|
+
}
|
|
37
|
+
toString(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
38
|
+
return this.format(`yyyy-MM-dd (E) a hh:mm ss.SSS XXX`, timezoneOffset);
|
|
39
|
+
}
|
|
40
|
+
getYear(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
41
|
+
return this.toDateTimeDetail(timezoneOffset).year;
|
|
42
|
+
}
|
|
43
|
+
getYearNumber(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
44
|
+
return Number(this.toDateTimeDetail(timezoneOffset).year);
|
|
45
|
+
}
|
|
46
|
+
getMonth(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
47
|
+
return this.toDateTimeDetail(timezoneOffset).month;
|
|
48
|
+
}
|
|
49
|
+
getDay(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
50
|
+
return this.toDateTimeDetail(timezoneOffset).day;
|
|
51
|
+
}
|
|
52
|
+
getWeek(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
53
|
+
return _to_week_un_timezone(_with_timezone_offset(this.time, timezoneOffset));
|
|
54
|
+
}
|
|
55
|
+
getWeekShort(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
56
|
+
return this.format(`E`, timezoneOffset);
|
|
57
|
+
}
|
|
58
|
+
getWeekLong(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
59
|
+
return this.format(`EE`, timezoneOffset);
|
|
60
|
+
}
|
|
61
|
+
getHours(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
62
|
+
return this.toTimeDetail(timezoneOffset).hours;
|
|
63
|
+
}
|
|
64
|
+
getMinutes(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
65
|
+
return this.toTimeDetail(timezoneOffset).minutes;
|
|
66
|
+
}
|
|
67
|
+
getSeconds(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
68
|
+
return this.toTimeDetail(timezoneOffset).seconds;
|
|
69
|
+
}
|
|
70
|
+
getMilliseconds(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
71
|
+
return this.toTimeDetail(timezoneOffset).milliseconds;
|
|
72
|
+
}
|
|
73
|
+
toStringUtc() {
|
|
74
|
+
return this.formatUtc(`yyyy-MM-dd (E) a hh:mm ss.SSS XXX`);
|
|
75
|
+
}
|
|
76
|
+
toIsoString(timezoneOffset = new Date().getTimezoneOffset()) {
|
|
77
|
+
return this.format(`yyyy-MM-ddTHH:mm:ss.SSSXXX`, timezoneOffset);
|
|
78
|
+
}
|
|
79
|
+
toIsoStringUtc() {
|
|
80
|
+
return this.formatUtc(`yyyy-MM-ddTHH:mm:ss.SSSXXX`);
|
|
81
|
+
}
|
|
82
|
+
plusMillis(milliseconds) {
|
|
83
|
+
return new Unixtime(this.time + BigInt(milliseconds));
|
|
84
|
+
}
|
|
85
|
+
plusSeconds(seconds) {
|
|
86
|
+
return new Unixtime(this.time + (BigInt(seconds) * MS1));
|
|
87
|
+
}
|
|
88
|
+
plusMinutes(minutes) {
|
|
89
|
+
return new Unixtime(this.time + (BigInt(minutes) * MM1));
|
|
90
|
+
}
|
|
91
|
+
plusHours(hours) {
|
|
92
|
+
return new Unixtime(this.time + (BigInt(hours) * MH1));
|
|
93
|
+
}
|
|
94
|
+
plusDays(days) {
|
|
95
|
+
return new Unixtime(this.time + (BigInt(days) * MD1));
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=unixtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unixtime.js","sourceRoot":"","sources":["../src/unixtime.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DateTimeDetail, TimeDetail } from "./index";
|
|
2
|
+
export declare const MD1 = 86400000n;
|
|
3
|
+
export declare const MH1 = 3600000n;
|
|
4
|
+
export declare const MM1 = 60000n;
|
|
5
|
+
export declare const MS1 = 1000n;
|
|
6
|
+
export declare const MY400: bigint;
|
|
7
|
+
export declare function _with_timezone_offset(millis: bigint, timezoneOffset: number): bigint;
|
|
8
|
+
export declare function _get_leap_info(year: bigint): [boolean, bigint];
|
|
9
|
+
export declare function _get_last_day_of_month(month: number, leapYear: boolean): number;
|
|
10
|
+
export declare function _merge_month_day(month: number, day: number, leapYear: boolean): number;
|
|
11
|
+
export declare function _merge_all(_year?: number | bigint, _month?: number | bigint, _day?: number | bigint, _hours?: number | bigint, _minutes?: number | bigint, _seconds?: number | bigint, _milliseconds?: number | bigint, _timezoneOffset?: number): bigint;
|
|
12
|
+
export declare function _split_day_of_year(dayOfYear: number, leapYear: boolean): [number, number];
|
|
13
|
+
export declare function _to_week_un_timezone(umillis: bigint): number;
|
|
14
|
+
export declare function _split_year(umillis: bigint): [bigint, boolean, number, bigint];
|
|
15
|
+
export declare function _split_day(millisInDay: bigint): [number, number, number, number];
|
|
16
|
+
export declare function _to_date_time_detail(umillis: bigint, timezoneOffset: number): DateTimeDetail;
|
|
17
|
+
export declare function _to_time_detail(umillis: bigint, timezoneOffset: number): TimeDetail;
|
|
18
|
+
export declare function _format(detail: DateTimeDetail, format: string): string;
|
|
19
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,SAAS,CAAC;AASnD,eAAO,MAAM,GAAG,YAAc,CAAC;AAC/B,eAAO,MAAM,GAAG,WAAa,CAAC;AAC9B,eAAO,MAAM,GAAG,SAAU,CAAC;AAC3B,eAAO,MAAM,GAAG,QAAQ,CAAC;AACzB,eAAO,MAAM,KAAK,QAAa,CAAC;AAUhC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAEpF;AAoED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAK9D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAK/E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAGtF;AAED,wBAAgB,UAAU,CACtB,KAAK,GAAE,MAAM,GAAC,MAAU,EACxB,MAAM,GAAE,MAAM,GAAC,MAAU,EACzB,IAAI,GAAE,MAAM,GAAC,MAAU,EACvB,MAAM,GAAE,MAAM,GAAC,MAAU,EACzB,QAAQ,GAAE,MAAM,GAAC,MAAU,EAC3B,QAAQ,GAAE,MAAM,GAAC,MAAU,EAC3B,aAAa,GAAE,MAAM,GAAC,MAAU,EAChC,eAAe,SAAiC,GACjD,MAAM,CA8BR;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAQzF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAS5D;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAsD9E;AAGD,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAOhF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,cAAc,CAO5F;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,CAInF;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CA4BtE"}
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
// unixtime = unixtime seconds
|
|
2
|
+
// umillis = unixtime milliseconds
|
|
3
|
+
const Y1 = 365n; // 1 year
|
|
4
|
+
const Y1L = Y1 + 1n; // 1 year (leap)
|
|
5
|
+
const Y4 = (Y1 * 4n) + 1n; // 4 years
|
|
6
|
+
const Y100 = (Y4 * 25n) - 1n; // 100 years
|
|
7
|
+
const Y400 = (Y100 * 4n) + 1n; // 400 years
|
|
8
|
+
// M = MILLISECOND
|
|
9
|
+
export const MD1 = 86400000n;
|
|
10
|
+
export const MH1 = 3600000n;
|
|
11
|
+
export const MM1 = 60000n;
|
|
12
|
+
export const MS1 = 1000n;
|
|
13
|
+
export const MY400 = Y400 * MD1;
|
|
14
|
+
// unix millis to y2k (2000/01/01)
|
|
15
|
+
const Y2K_UMILLIS = 946684800000n;
|
|
16
|
+
// unix millis to - year zero (0000/01/01)
|
|
17
|
+
const ZY_UMILLIS = -62167219200000n;
|
|
18
|
+
const DAY_LEN_IN_MONTH = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
19
|
+
const DAY_LEN_IN_MONTH_ACC = [0, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
|
|
20
|
+
export function _with_timezone_offset(millis, timezoneOffset) {
|
|
21
|
+
return millis - (BigInt(timezoneOffset) * MM1);
|
|
22
|
+
}
|
|
23
|
+
function zerofill(n, fill) {
|
|
24
|
+
if (typeof n === 'string') {
|
|
25
|
+
let sign = n.startsWith("-") ? "-" : "";
|
|
26
|
+
return sign + n.substring(sign.length).padStart(fill, "0");
|
|
27
|
+
}
|
|
28
|
+
else if (typeof n === 'bigint') {
|
|
29
|
+
return zerofill(n.toString(), fill);
|
|
30
|
+
}
|
|
31
|
+
else if (typeof n === 'number') {
|
|
32
|
+
return zerofill(n.toString(), fill);
|
|
33
|
+
}
|
|
34
|
+
throw new Error(`is not number or bigint: ${n}`);
|
|
35
|
+
}
|
|
36
|
+
function toIntRange(n, min = null, max = null) {
|
|
37
|
+
if (typeof n === 'bigint') {
|
|
38
|
+
return toIntRange(Number(n), min, max);
|
|
39
|
+
}
|
|
40
|
+
if (typeof n === 'number') {
|
|
41
|
+
if (Number.isSafeInteger(n)) {
|
|
42
|
+
if (min == null || n >= min) {
|
|
43
|
+
if (max == null || n <= max) {
|
|
44
|
+
return n;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
throw new Error(`is not range of int: ${n}`);
|
|
50
|
+
}
|
|
51
|
+
function toBigIntRange(n, min = null, max = null) {
|
|
52
|
+
if (typeof n === 'number') {
|
|
53
|
+
return toBigIntRange(BigInt(n));
|
|
54
|
+
}
|
|
55
|
+
else if (typeof n === 'bigint') {
|
|
56
|
+
if (min == null || n >= min) {
|
|
57
|
+
if (max == null || n <= max) {
|
|
58
|
+
return n;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
throw new Error(`is not range of bigint: ${n}`);
|
|
63
|
+
}
|
|
64
|
+
function to_XXX(detail) {
|
|
65
|
+
let tz = detail.timezoneOffset * -1;
|
|
66
|
+
if (tz === 0) {
|
|
67
|
+
return 'Z';
|
|
68
|
+
}
|
|
69
|
+
const sign = tz > 0 ? '+' : '-';
|
|
70
|
+
tz = Math.abs(tz);
|
|
71
|
+
const h = Math.floor(tz / 60);
|
|
72
|
+
const m = tz % 60;
|
|
73
|
+
return `${sign}${zerofill(h, 2)}:${zerofill(m, 2)}`;
|
|
74
|
+
}
|
|
75
|
+
function to_a(detail) {
|
|
76
|
+
return detail.hours >= 12 ? 'PM' : 'AM';
|
|
77
|
+
}
|
|
78
|
+
function to_E(week) {
|
|
79
|
+
return ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][week % 7];
|
|
80
|
+
}
|
|
81
|
+
function to_EE(week) {
|
|
82
|
+
return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][week % 7];
|
|
83
|
+
}
|
|
84
|
+
// [leapYear, leapCount]
|
|
85
|
+
export function _get_leap_info(year) {
|
|
86
|
+
const leapYear = ((year % 4n === 0n) && (year % 100n !== 0n)) || (year % 400n === 0n);
|
|
87
|
+
const offset = (year >= 0n ? 1n : 0n) + (leapYear ? -1n : 0n);
|
|
88
|
+
year = year < 0 ? -year : year;
|
|
89
|
+
return [leapYear, (year / 4n) - (year / 100n) + (year / 400n) + offset];
|
|
90
|
+
}
|
|
91
|
+
export function _get_last_day_of_month(month, leapYear) {
|
|
92
|
+
if (month === 2 && !leapYear) {
|
|
93
|
+
return DAY_LEN_IN_MONTH[month] - 1;
|
|
94
|
+
}
|
|
95
|
+
return DAY_LEN_IN_MONTH[month];
|
|
96
|
+
}
|
|
97
|
+
export function _merge_month_day(month, day, leapYear) {
|
|
98
|
+
const t = DAY_LEN_IN_MONTH_ACC[month] + (day - 1);
|
|
99
|
+
return !leapYear && t >= 60 ? t - 1 : t;
|
|
100
|
+
}
|
|
101
|
+
export function _merge_all(_year = 1, _month = 1, _day = 1, _hours = 0, _minutes = 0, _seconds = 0, _milliseconds = 0, _timezoneOffset = new Date().getTimezoneOffset()) {
|
|
102
|
+
try {
|
|
103
|
+
_year = BigInt(_year);
|
|
104
|
+
let reverse = _year < 0n;
|
|
105
|
+
let year = reverse ? -_year : _year;
|
|
106
|
+
let [leapYear, leapCount] = _get_leap_info(_year);
|
|
107
|
+
let month = toIntRange(_month, 1, 12);
|
|
108
|
+
let day = toIntRange(_day, 1, _get_last_day_of_month(month, leapYear));
|
|
109
|
+
let dayOfYear = BigInt(_merge_month_day(month, day, leapYear));
|
|
110
|
+
let tz = toBigIntRange(_timezoneOffset, -1440n, 1440n) * MM1;
|
|
111
|
+
let inDay = ((toBigIntRange(_hours, 0n, 23n) * MH1) +
|
|
112
|
+
(toBigIntRange(_minutes, 0n, 59n) * MM1) +
|
|
113
|
+
(toBigIntRange(_seconds, 0n, 59n) * MS1) +
|
|
114
|
+
toBigIntRange(_milliseconds, 0n, 999n));
|
|
115
|
+
let time;
|
|
116
|
+
if (reverse) {
|
|
117
|
+
year = year - 1n;
|
|
118
|
+
const maskYear = (leapYear ? Y1L : Y1) * MD1;
|
|
119
|
+
const inYear = maskYear - ((dayOfYear * MD1) + inDay);
|
|
120
|
+
const rt = (((year * Y1) + leapCount) * MD1) + inYear;
|
|
121
|
+
time = -rt + ZY_UMILLIS + tz;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
time = (((year * Y1) + leapCount + dayOfYear) * MD1) + inDay + ZY_UMILLIS + tz;
|
|
125
|
+
}
|
|
126
|
+
return time;
|
|
127
|
+
}
|
|
128
|
+
catch (e) {
|
|
129
|
+
throw new Error(`Unixtime: Invalid Date: ${_year}-${_month}-${_day} ${_hours}:${_minutes}:${_seconds}.${_milliseconds}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
export function _split_day_of_year(dayOfYear, leapYear) {
|
|
133
|
+
const days = (!leapYear && dayOfYear >= 59) ? (dayOfYear + 1) : dayOfYear;
|
|
134
|
+
for (let i = 12; i >= 2; i--) {
|
|
135
|
+
if (days >= DAY_LEN_IN_MONTH_ACC[i]) {
|
|
136
|
+
return [i, (days - DAY_LEN_IN_MONTH_ACC[i]) + 1];
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return [1, days + 1];
|
|
140
|
+
}
|
|
141
|
+
export function _to_week_un_timezone(umillis) {
|
|
142
|
+
let t;
|
|
143
|
+
if (umillis >= 0) {
|
|
144
|
+
t = ((umillis / MD1) + 4n) % 7n;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
t = ((umillis + 1n) / MD1) - 1n;
|
|
148
|
+
t = ((t + 4n) % 7n + 7n) % 7n;
|
|
149
|
+
}
|
|
150
|
+
return Number(t);
|
|
151
|
+
}
|
|
152
|
+
// year, leap, dayYear, milliseconds
|
|
153
|
+
export function _split_year(umillis) {
|
|
154
|
+
let year = 2000n;
|
|
155
|
+
let y2kMillis = umillis - Y2K_UMILLIS;
|
|
156
|
+
let t;
|
|
157
|
+
if (y2kMillis >= 0) {
|
|
158
|
+
year += (y2kMillis / MY400) * 400n;
|
|
159
|
+
t = y2kMillis % MY400;
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
year += (((y2kMillis / MY400) - 1n) * 400n);
|
|
163
|
+
t = y2kMillis = MY400 + (y2kMillis % MY400);
|
|
164
|
+
}
|
|
165
|
+
// in day
|
|
166
|
+
let milliseconds = y2kMillis % MD1;
|
|
167
|
+
// left time (day)
|
|
168
|
+
// 0 <= t < (day of 400 Year)
|
|
169
|
+
t /= MD1;
|
|
170
|
+
const y100c = (t - 1n) / Y100;
|
|
171
|
+
let leap = y100c === 0n;
|
|
172
|
+
// t > 100 years = not leap year
|
|
173
|
+
if (!leap) {
|
|
174
|
+
year += (y100c * 100n);
|
|
175
|
+
t = (t - 1n) % Y100;
|
|
176
|
+
// if (t > 100 years and first 4 years) is not leap year
|
|
177
|
+
if (t >= (Y1 * 4n)) {
|
|
178
|
+
year += 4n;
|
|
179
|
+
t -= (Y1 * 4n);
|
|
180
|
+
leap = true;
|
|
181
|
+
}
|
|
182
|
+
} // else leap year
|
|
183
|
+
// 4 years - un leap year
|
|
184
|
+
if (leap) {
|
|
185
|
+
let y4c = t / Y4;
|
|
186
|
+
if (y4c > 0n) {
|
|
187
|
+
year += (y4c * 4n);
|
|
188
|
+
t = t % Y4;
|
|
189
|
+
leap = true;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// 1 year
|
|
193
|
+
const d1l = leap ? 1n : 0n;
|
|
194
|
+
const y1c = (t - d1l) / Y1;
|
|
195
|
+
if (y1c > 0n) {
|
|
196
|
+
year += y1c;
|
|
197
|
+
t -= ((y1c * Y1) + (y1c > 0n ? d1l : 0n));
|
|
198
|
+
leap = false;
|
|
199
|
+
}
|
|
200
|
+
return [year, leap, Number(t), milliseconds];
|
|
201
|
+
}
|
|
202
|
+
// hours, minutes, seconds, millis
|
|
203
|
+
export function _split_day(millisInDay) {
|
|
204
|
+
return ([
|
|
205
|
+
Number(millisInDay / MH1),
|
|
206
|
+
Number((millisInDay % MH1) / MM1),
|
|
207
|
+
Number((millisInDay % MM1) / MS1),
|
|
208
|
+
Number(millisInDay % MS1)
|
|
209
|
+
]);
|
|
210
|
+
}
|
|
211
|
+
export function _to_date_time_detail(umillis, timezoneOffset) {
|
|
212
|
+
const t = _with_timezone_offset(umillis, timezoneOffset);
|
|
213
|
+
const week = _to_week_un_timezone(t);
|
|
214
|
+
const [year, leapYear, dayOfYear, millisOfDay] = _split_year(t);
|
|
215
|
+
const [month, day] = _split_day_of_year(dayOfYear, leapYear);
|
|
216
|
+
const [hours, minutes, seconds, milliseconds] = _split_day(millisOfDay);
|
|
217
|
+
return ({ leapYear, year, month, day, week, hours, minutes, seconds, milliseconds, timezoneOffset });
|
|
218
|
+
}
|
|
219
|
+
export function _to_time_detail(umillis, timezoneOffset) {
|
|
220
|
+
const t = _with_timezone_offset(umillis, timezoneOffset);
|
|
221
|
+
const [hours, minutes, seconds, milliseconds] = _split_day(t % MD1);
|
|
222
|
+
return { hours, minutes, seconds, milliseconds, timezoneOffset };
|
|
223
|
+
}
|
|
224
|
+
export function _format(detail, format) {
|
|
225
|
+
return format.split(/'/).map((s, i) => {
|
|
226
|
+
if (i % 2 === 0) {
|
|
227
|
+
return (s
|
|
228
|
+
.replace(/yyyy|yy|MM|dd|HH|hh|mm|ss|SSS|XXX|a|e|EE|E/g, (e) => {
|
|
229
|
+
switch (e) {
|
|
230
|
+
case 'yyyy': return zerofill(detail.year, 4);
|
|
231
|
+
case 'yy': return zerofill(detail.year, 2);
|
|
232
|
+
case 'MM': return zerofill(detail.month, 2);
|
|
233
|
+
case 'dd': return zerofill(detail.day, 2);
|
|
234
|
+
case 'HH': return zerofill(detail.hours, 2);
|
|
235
|
+
case 'hh': return zerofill(detail.hours > 12 ? detail.hours - 12 : detail.hours, 2);
|
|
236
|
+
case 'mm': return zerofill(detail.minutes, 2);
|
|
237
|
+
case 'ss': return zerofill(detail.seconds, 2);
|
|
238
|
+
case 'SSS': return zerofill(detail.milliseconds, 3);
|
|
239
|
+
case 'XXX': return to_XXX(detail);
|
|
240
|
+
case 'a': return to_a(detail);
|
|
241
|
+
case 'e': return detail.week.toString();
|
|
242
|
+
case 'E': return to_E(detail.week);
|
|
243
|
+
case 'EE': return to_EE(detail.week);
|
|
244
|
+
}
|
|
245
|
+
return e;
|
|
246
|
+
}));
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
return s;
|
|
250
|
+
}
|
|
251
|
+
}).join('');
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "infinite-unixtime",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "unlimited unixtime - ignore LMT(Local mean time)",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"unix-time",
|
|
7
|
+
"unixtime",
|
|
8
|
+
"time",
|
|
9
|
+
"timestamp",
|
|
10
|
+
"bigint",
|
|
11
|
+
"infinite",
|
|
12
|
+
"epoch",
|
|
13
|
+
"bc",
|
|
14
|
+
"time-conversion"
|
|
15
|
+
],
|
|
16
|
+
"author": "marker",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"homepage": "https://github.com/saro-lab/unixtime-npm",
|
|
19
|
+
"bugs": {
|
|
20
|
+
"url": "https://github.com/saro-lab/unixtime-npm/issues"
|
|
21
|
+
},
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/saro-lab/unixtime-npm.git"
|
|
25
|
+
},
|
|
26
|
+
"type": "module",
|
|
27
|
+
"main": "./dist/index.cjs",
|
|
28
|
+
"module": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"types": "./dist/index.d.ts",
|
|
33
|
+
"import": "./dist/index.js",
|
|
34
|
+
"require": "./dist/index.cjs"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"files": [
|
|
38
|
+
"dist"
|
|
39
|
+
],
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsc && tsc -p tsconfig.json",
|
|
42
|
+
"test": "vitest run",
|
|
43
|
+
"prepublishOnly": "npm run build"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"typescript": "^6.0.3",
|
|
47
|
+
"vitest": "^4.1.6"
|
|
48
|
+
}
|
|
49
|
+
}
|