@nivinjoseph/n-date 1.0.1

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.
Files changed (43) hide show
  1. package/.editorconfig +14 -0
  2. package/.vscode/launch.json +56 -0
  3. package/.vscode/settings.json +111 -0
  4. package/.vscode/tasks.json +12 -0
  5. package/.yarn/releases/yarn-4.14.1.cjs +940 -0
  6. package/.yarnrc.yml +8 -0
  7. package/LICENSE +21 -0
  8. package/README.md +21 -0
  9. package/dist/date-time-format.d.ts +11 -0
  10. package/dist/date-time-format.d.ts.map +1 -0
  11. package/dist/date-time-format.js +11 -0
  12. package/dist/date-time-format.js.map +1 -0
  13. package/dist/date-time-span.d.ts +70 -0
  14. package/dist/date-time-span.d.ts.map +1 -0
  15. package/dist/date-time-span.js +122 -0
  16. package/dist/date-time-span.js.map +1 -0
  17. package/dist/date-time.d.ts +391 -0
  18. package/dist/date-time.d.ts.map +1 -0
  19. package/dist/date-time.js +753 -0
  20. package/dist/date-time.js.map +1 -0
  21. package/dist/index.d.ts +4 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +4 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/tsconfig.json +13 -0
  26. package/docs/README.md +33 -0
  27. package/docs/date-time-span.md +72 -0
  28. package/docs/date-time.md +169 -0
  29. package/docs/formats.md +56 -0
  30. package/docs/getting-started.md +151 -0
  31. package/eslint.config.js +596 -0
  32. package/package.json +57 -0
  33. package/src/date-time-format.ts +35 -0
  34. package/src/date-time-span.ts +130 -0
  35. package/src/date-time.ts +950 -0
  36. package/src/index.ts +3 -0
  37. package/test/date-time-comparison.test.ts +1579 -0
  38. package/test/date-time-create.test.ts +1147 -0
  39. package/test/date-time-math.test.ts +324 -0
  40. package/test/date-time-properties.test.ts +200 -0
  41. package/test/date-time-utility.test.ts +432 -0
  42. package/test/date-time-validations.test.ts +521 -0
  43. package/tsconfig.json +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-time.js","sourceRoot":"","sources":["../src/date-time.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { DateTime, DateTimeSchema } from "./date-time.js";
2
+ export { DateTimeFormat, DateTimeFormat_DEFAULT, DateTimeFormatExt } from "./date-time-format.js";
3
+ export { DateTimeSpan, DateTimeSpanSchema } from "./date-time-span.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export { DateTime } from "./date-time.js";
2
+ export { DateTimeFormat, DateTimeFormat_DEFAULT } from "./date-time-format.js";
3
+ export { DateTimeSpan } from "./date-time-span.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAqB,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": ".",
5
+ "rootDir": "../src",
6
+ "declaration": true,
7
+ "declarationDir": ".",
8
+ "declarationMap": true
9
+ },
10
+ "include": [
11
+ "../src/**/*.ts"
12
+ ]
13
+ }
package/docs/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # n-date Documentation
2
+
3
+ `@nivinjoseph/n-date` is a TypeScript library for robust date and time handling with first-class timezone support. It wraps [Luxon](https://moment.github.io/luxon/) behind an immutable, serializable API.
4
+
5
+ ## Contents
6
+
7
+ - [Getting Started](./getting-started.md) — installation, concepts, and a quick tour.
8
+ - [DateTime](./date-time.md) — the core immutable date/time type.
9
+ - [DateTimeSpan](./date-time-span.md) — intervals between two `DateTime` values.
10
+ - [Formats](./formats.md) — `DateTimeFormat` and `DateTimeFormatExt` reference.
11
+
12
+ ## At a glance
13
+
14
+ ```typescript
15
+ import { DateTime, DateTimeSpan, DateTimeFormat } from "@nivinjoseph/n-date";
16
+ import { Duration } from "@nivinjoseph/n-util";
17
+
18
+ const now = DateTime.now("America/New_York");
19
+ const later = now.addTime(Duration.fromHours(2));
20
+
21
+ const span = new DateTimeSpan({ start: now, end: later });
22
+ span.contains(now.addTime(Duration.fromMinutes(30))); // true
23
+
24
+ later.format(DateTimeFormat.yearMonthDay); // "2026-04-20"
25
+ later.formatExt("DDDD"); // "Monday, April 20, 2026"
26
+ ```
27
+
28
+ ## Design principles
29
+
30
+ - **Immutable** — every mutating-looking method (`addTime`, `convertToZone`, …) returns a new `DateTime`.
31
+ - **Explicit timezones** — there is no "local" zone; callers pass an IANA zone or `"utc"`.
32
+ - **Serializable** — `DateTime` and `DateTimeSpan` extend `Serializable` from `@nivinjoseph/n-util`, so they round-trip through JSON with their type tag preserved.
33
+ - **Defensive** — inputs are validated with `@nivinjoseph/n-defensive`; invalid values throw at construction time rather than silently producing bad dates.
@@ -0,0 +1,72 @@
1
+ # DateTimeSpan
2
+
3
+ A closed interval `[start, end]` between two `DateTime` values. Source: [src/date-time-span.ts](../src/date-time-span.ts).
4
+
5
+ ```typescript
6
+ import { DateTimeSpan, DateTimeSpanSchema } from "@nivinjoseph/n-date";
7
+ ```
8
+
9
+ ## Construction
10
+
11
+ ```typescript
12
+ type DateTimeSpanSchema = { start: DateTime; end: DateTime; };
13
+
14
+ const span = new DateTimeSpan({ start, end });
15
+ ```
16
+
17
+ Throws if `end.isBefore(start)`. A zero-length span (`start === end`) is allowed.
18
+
19
+ ## Properties
20
+
21
+ | Property | Type | Description |
22
+ | --- | --- | --- |
23
+ | `start` | `DateTime` | Inclusive lower bound. |
24
+ | `end` | `DateTime` | Inclusive upper bound. |
25
+ | `duration` | `Duration` | `end.timeDiff(start)` (from `@nivinjoseph/n-util`). |
26
+
27
+ ## Methods
28
+
29
+ ### `contains(dateTime: DateTime): boolean`
30
+
31
+ True if `dateTime` falls within `[start, end]` (inclusive on both ends).
32
+
33
+ ```
34
+ this: start ─────────────── end
35
+
36
+ dateTime
37
+ ```
38
+
39
+ ### `encompasses(other: DateTimeSpan): boolean`
40
+
41
+ True if this span fully contains `other` — i.e. `this.start <= other.start` **and** `this.end >= other.end`.
42
+
43
+ ```
44
+ this: start ─────────────────────── end
45
+ other: start ─── end
46
+ ```
47
+
48
+ ### `infringes(other: DateTimeSpan): boolean`
49
+
50
+ True if the two spans overlap in any way — mutual containment, or partial overlap at either end. Returns false only when the spans are completely disjoint.
51
+
52
+ ```
53
+ partial overlap — this starts inside other:
54
+ this: start ─────── end
55
+ other: start ─────── end
56
+
57
+ partial overlap — this ends inside other:
58
+ this: start ─────── end
59
+ other: start ─────── end
60
+ ```
61
+
62
+ ### `equals(other: DateTimeSpan | null): boolean`
63
+
64
+ Structural equality — both `start` and `end` must `equals` their counterparts (value **and** zone).
65
+
66
+ ## Serialization
67
+
68
+ `DateTimeSpan` extends `Serializable` and is registered under the same `"Ndate"` type tag as `DateTime`. It round-trips through `@nivinjoseph/n-util`'s serializer.
69
+
70
+ ```typescript
71
+ export type DateTimeSpanSchema = Schema<DateTimeSpan, "start" | "end">;
72
+ ```
@@ -0,0 +1,169 @@
1
+ # DateTime
2
+
3
+ An immutable, timezone-aware date/time value. Source: [src/date-time.ts](../src/date-time.ts).
4
+
5
+ ```typescript
6
+ import { DateTime, DateTimeSchema } from "@nivinjoseph/n-date";
7
+ ```
8
+
9
+ ## Construction
10
+
11
+ ### `new DateTime(data: DateTimeSchema)`
12
+
13
+ ```typescript
14
+ type DateTimeSchema = { value: string; zone: string; };
15
+ ```
16
+
17
+ - `value` — a string matching `yyyy-MM-dd HH:mm:ss`. Shorter forms (`yyyy`, `yyyy-MM`, `yyyy-MM-dd`, `yyyy-MM-dd HH`, `yyyy-MM-dd HH:mm`) are auto-padded with zeros.
18
+ - `zone` — `"utc"` or an IANA timezone id. `"local"` is rejected. `UTC±HH:MM` offsets are accepted within the valid range (`UTC-12:00` … `UTC+14:00`).
19
+
20
+ Throws if the format is wrong, if month/day/hour/minute/second are out of range, or if the zone is invalid.
21
+
22
+ ### Static factories
23
+
24
+ | Method | Notes |
25
+ | --- | --- |
26
+ | `DateTime.now(zone?)` | Current instant; defaults to `"utc"`. Honours `useFixedNow` / `useRelativeNow`. |
27
+ | `DateTime.createFromTimestamp(seconds, zone)` | Unix timestamp in **seconds**. |
28
+ | `DateTime.createFromMilliSecondsSinceEpoch(ms, zone)` | Unix timestamp in **milliseconds**. |
29
+ | `DateTime.createFromCodes(dateCode, timeCode, zone)` | `dateCode` is `YYYYMMDD`, `timeCode` is `HHMMSS`. |
30
+ | `DateTime.createFromValues(dateValue, timeValue, zone)` | `dateValue` is `YYYY-MM-DD`, `timeValue` is `HH:mm:ss`. |
31
+
32
+ ### Min / max
33
+
34
+ ```typescript
35
+ DateTime.min(a, b); // earlier of the two
36
+ DateTime.max(a, b); // later of the two
37
+ ```
38
+
39
+ ## Properties
40
+
41
+ | Property | Type | Description |
42
+ | --- | --- | --- |
43
+ | `value` | `string` | Canonical `yyyy-MM-dd HH:mm:ss`. |
44
+ | `zone` | `string` | Timezone identifier. |
45
+ | `timestamp` | `number` | Unix seconds. |
46
+ | `dateCode` | `string` | `YYYYMMDD`. |
47
+ | `timeCode` | `string` | `HHMMSS`. |
48
+ | `dateValue` | `string` | `YYYY-MM-DD`. |
49
+ | `timeValue` | `string` | `HH:mm:ss`. |
50
+ | `isPast` | `boolean` | Relative to `DateTime.now()`. |
51
+ | `isFuture` | `boolean` | Relative to `DateTime.now()`. |
52
+ | `DateTime.currentZone` | `string` | The host system's local zone (static). |
53
+
54
+ ## Comparison
55
+
56
+ ```typescript
57
+ a.equals(b); // same value AND same zone
58
+ a.isSame(b); // same instant (zones may differ)
59
+ a.isBefore(b);
60
+ a.isSameOrBefore(b);
61
+ a.isAfter(b);
62
+ a.isSameOrAfter(b);
63
+ a.isBetween(start, end); // inclusive; throws if end < start
64
+ a.isSameDay(b);
65
+ ```
66
+
67
+ `isSame` compares instants, so `"2026-04-20 12:00 utc"` and `"2026-04-20 08:00 America/New_York"` are the same. `equals` requires matching `value` **and** `zone`.
68
+
69
+ ## Differences
70
+
71
+ ```typescript
72
+ a.timeDiff(b); // Duration (absolute)
73
+ a.daysDiff(b); // number (absolute, integer)
74
+ ```
75
+
76
+ ## Arithmetic
77
+
78
+ All methods return a new `DateTime` in the same zone.
79
+
80
+ | Method | DST behaviour |
81
+ | --- | --- |
82
+ | `addTime(duration)` / `subtractTime(duration)` | Shifts by elapsed time — wall-clock time may jump across DST boundaries. |
83
+ | `addDays(n)` / `subtractDays(n)` | Shifts by calendar days — wall-clock time is preserved across DST. |
84
+
85
+ ```typescript
86
+ import { Duration } from "@nivinjoseph/n-util";
87
+
88
+ dt.addTime(Duration.fromHours(2));
89
+ dt.addDays(7);
90
+ ```
91
+
92
+ `addDays` / `subtractDays` require a non-negative integer.
93
+
94
+ ## Zone conversion
95
+
96
+ ```typescript
97
+ const ny = DateTime.now("America/New_York");
98
+ const tokyo = ny.convertToZone("Asia/Tokyo");
99
+ // tokyo.timestamp === ny.timestamp
100
+ ```
101
+
102
+ Returns `this` unchanged when the target zone matches the current one.
103
+
104
+ ## Formatting
105
+
106
+ ### `toStringDateTime(): string`
107
+
108
+ Canonical `yyyy-MM-dd HH:mm:ss`.
109
+
110
+ ### `toStringISO(): string`
111
+
112
+ Extended ISO-8601 with offset, e.g. `2026-04-20T11:30:45.000-04:00`.
113
+
114
+ ### `toString(): string`
115
+
116
+ `"${value} ${zone}"`, e.g. `2026-04-20 11:30:45 America/New_York`.
117
+
118
+ ### `format(format?: DateTimeFormat): string`
119
+
120
+ Truncates to the requested precision. See [formats](./formats.md).
121
+
122
+ ### `formatExt(format: DateTimeFormatExt | string): string`
123
+
124
+ Full Luxon formatting — accepts any [Luxon format token string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). The `DateTimeFormatExt` union documents commonly used presets.
125
+
126
+ ## Validation helpers (static)
127
+
128
+ ```typescript
129
+ DateTime.validateDateTimeFormat(value, format); // boolean
130
+ DateTime.validateDateFormat(value); // "yyyy-MM-dd"
131
+ DateTime.validateTimeFormat(value); // "HH:mm"
132
+ DateTime.validateTimeZone(zone); // boolean
133
+ ```
134
+
135
+ ## Test hooks (static)
136
+
137
+ Override the clock during tests. **Always reset in `afterEach` / teardown.**
138
+
139
+ ```typescript
140
+ DateTime.useFixedNow(timestampSeconds); // freeze now()
141
+ DateTime.useRelativeNow(timestampSeconds); // now() advances from this base
142
+ DateTime.resetFixedOrRelativeNow(); // back to real time
143
+ ```
144
+
145
+ `useFixedNow` and `useRelativeNow` are mutually exclusive — calling one clears the other.
146
+
147
+ ## Iteration helpers
148
+
149
+ ### `getDaysOfMonth(): Array<DateTime>`
150
+
151
+ Returns an array covering the current month. The first element is the start of the month at `00:00:00`, the last element is the end of the month at `23:59:59`, and the in-between elements are the start of each day.
152
+
153
+ ## Time-of-day windows
154
+
155
+ ### `isWithinTimeRange(startTimeCode, endTimeCode): boolean`
156
+
157
+ Checks whether this `DateTime` falls within `[startTimeCode, endTimeCode]` on its own date, in its own zone. Codes are `HHMMSS`. `endTimeCode` must be `>= startTimeCode` (same-day range; overnight windows are not supported by this method).
158
+
159
+ ```typescript
160
+ DateTime.now("America/Toronto").isWithinTimeRange("090000", "170000");
161
+ ```
162
+
163
+ ## Schema
164
+
165
+ ```typescript
166
+ export type DateTimeSchema = Schema<DateTime, "value" | "zone">;
167
+ ```
168
+
169
+ Used by the constructor and by the `@nivinjoseph/n-util` serializer (type tag `"Ndate"`).
@@ -0,0 +1,56 @@
1
+ # Formats
2
+
3
+ Format tokens follow [Luxon's grammar](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). Source: [src/date-time-format.ts](../src/date-time-format.ts).
4
+
5
+ ## `DateTimeFormat` (enum)
6
+
7
+ Used by [`DateTime#format`](./date-time.md#formatformat-datetimeformat-string) to truncate to a given precision.
8
+
9
+ | Member | Token | Example |
10
+ | --- | --- | --- |
11
+ | `yearMonthDayHourMinuteSecond` | `yyyy-MM-dd HH:mm:ss` | `2026-04-20 15:30:45` |
12
+ | `yearMonthDayHourMinute` | `yyyy-MM-dd HH:mm` | `2026-04-20 15:30` |
13
+ | `yearMonthDayHour` | `yyyy-MM-dd HH` | `2026-04-20 15` |
14
+ | `yearMonthDay` | `yyyy-MM-dd` | `2026-04-20` |
15
+ | `yearMonth` | `yyyy-MM` | `2026-04` |
16
+ | `year` | `yyyy` | `2026` |
17
+
18
+ `DateTimeFormat_DEFAULT` is `yearMonthDayHourMinuteSecond` and is also the canonical internal representation.
19
+
20
+ ## `DateTimeFormatExt` (type)
21
+
22
+ A union of commonly used Luxon format strings, passed to [`DateTime#formatExt`](./date-time.md#formatextformat-datetimeformatext--string-string). The type exists to give IntelliSense; `formatExt` also accepts any other Luxon format string.
23
+
24
+ | Token | Example |
25
+ | --- | --- |
26
+ | `DD HH:mm:ss` | `Apr 20, 2026 15:30:20` |
27
+ | `MMMM d, HH:mm:ss` | `April 20 15:30:20` |
28
+ | `DD HH:mm` | `Apr 20, 2026 15:30` |
29
+ | `MMMM d, HH:mm` | `April 20 15:30` |
30
+ | `yyyy/LL/dd` | `2026/04/20` |
31
+ | `yyyy/LL/dd HH:mm:ss` | `2026/04/20 15:30:20` |
32
+ | `yyyy/LL/dd HH:mm` | `2026/04/20 15:30` |
33
+ | `yyyy-MM-dd` | `2026-04-20` |
34
+ | `HH:mm:ss` | `15:30:20` |
35
+ | `HH:mm` | `15:30` |
36
+ | `DDD` | `April 20, 2026` |
37
+ | `DD` | `Apr 20, 2026` |
38
+ | `yyyy-MM` | `2026-04` |
39
+ | `MMMM yyyy` | `April 2026` |
40
+ | `DDDD` | `Monday, April 20, 2026` |
41
+ | `EEEE DD` | `Monday Apr 20, 2026` |
42
+ | `LLL yyyy` | `Apr 2026` |
43
+ | `LLLL yyyy` | `April 2026` |
44
+ | `MMMM d` | `April 20` |
45
+ | `LLL d` | `Apr 20` |
46
+
47
+ ## Validating format strings
48
+
49
+ ```typescript
50
+ DateTime.validateDateTimeFormat("2026-04-20 15:30:45", DateTimeFormat.yearMonthDayHourMinuteSecond); // true
51
+ DateTime.validateDateFormat("2026-04-20"); // true
52
+ DateTime.validateTimeFormat("15:30"); // true
53
+ DateTime.validateTimeZone("America/Toronto"); // true
54
+ ```
55
+
56
+ All four return `false` (rather than throwing) on empty or malformed input, making them safe to use in form-validation pipelines.
@@ -0,0 +1,151 @@
1
+ # Getting Started
2
+
3
+ ## Installation
4
+
5
+ ```bash
6
+ npm install @nivinjoseph/n-date
7
+ # or
8
+ yarn add @nivinjoseph/n-date
9
+ ```
10
+
11
+ Peer-adjacent packages used in examples:
12
+
13
+ ```bash
14
+ yarn add @nivinjoseph/n-util
15
+ ```
16
+
17
+ The library targets Node.js `>= 24.10` and is published as pure ESM.
18
+
19
+ ## Importing
20
+
21
+ ```typescript
22
+ import {
23
+ DateTime,
24
+ DateTimeSchema,
25
+ DateTimeSpan,
26
+ DateTimeSpanSchema,
27
+ DateTimeFormat,
28
+ DateTimeFormat_DEFAULT,
29
+ DateTimeFormatExt
30
+ } from "@nivinjoseph/n-date";
31
+ ```
32
+
33
+ ## Core concepts
34
+
35
+ ### A `DateTime` is a value + a zone
36
+
37
+ Every `DateTime` is constructed from two pieces of data:
38
+
39
+ - `value` — a string in the canonical format `yyyy-MM-dd HH:mm:ss`.
40
+ - `zone` — either `"utc"` or an IANA timezone identifier (e.g. `"America/New_York"`, `"Asia/Tokyo"`). `"local"` is explicitly disallowed so that serialized data is always unambiguous.
41
+
42
+ Shorter `value` strings are auto-padded on construction (`"2026"` → `"2026-01-01 00:00:00"`), so you can pass month-, day-, or hour-precision inputs directly.
43
+
44
+ ### Immutability
45
+
46
+ `DateTime` and `DateTimeSpan` instances never mutate. Methods like `addTime`, `subtractDays`, and `convertToZone` return a new instance.
47
+
48
+ ```typescript
49
+ const a = DateTime.now("utc");
50
+ const b = a.addDays(1);
51
+ a.equals(b); // false — a is unchanged
52
+ ```
53
+
54
+ ### Serialization
55
+
56
+ Both types extend `Serializable` from `@nivinjoseph/n-util` and are registered under the type tag `"Ndate"`. `JSON.stringify` / `Deserializer.deserialize` round-trip them losslessly.
57
+
58
+ ## Quick tour
59
+
60
+ ### Create
61
+
62
+ ```typescript
63
+ DateTime.now("utc");
64
+ DateTime.now("America/Toronto");
65
+
66
+ DateTime.createFromTimestamp(1_700_000_000, "utc");
67
+ DateTime.createFromMilliSecondsSinceEpoch(Date.now(), "utc");
68
+ DateTime.createFromCodes("20260420", "153000", "utc");
69
+ DateTime.createFromValues("2026-04-20", "15:30:00", "utc");
70
+
71
+ new DateTime({ value: "2026-04-20 15:30:00", zone: "utc" });
72
+ ```
73
+
74
+ ### Inspect
75
+
76
+ ```typescript
77
+ const dt = DateTime.now("America/New_York");
78
+
79
+ dt.value; // "2026-04-20 11:30:45"
80
+ dt.zone; // "America/New_York"
81
+ dt.timestamp; // 1745163045 (seconds since epoch)
82
+ dt.dateCode; // "20260420"
83
+ dt.timeCode; // "113045"
84
+ dt.dateValue; // "2026-04-20"
85
+ dt.timeValue; // "11:30:45"
86
+ dt.isPast; // true
87
+ dt.isFuture; // false
88
+ ```
89
+
90
+ ### Compare
91
+
92
+ ```typescript
93
+ a.isSame(b);
94
+ a.isBefore(b);
95
+ a.isSameOrBefore(b);
96
+ a.isAfter(b);
97
+ a.isSameOrAfter(b);
98
+ a.isBetween(start, end);
99
+ a.isSameDay(b);
100
+
101
+ a.timeDiff(b); // Duration
102
+ a.daysDiff(b); // number
103
+ DateTime.min(a, b);
104
+ DateTime.max(a, b);
105
+ ```
106
+
107
+ ### Arithmetic
108
+
109
+ ```typescript
110
+ import { Duration } from "@nivinjoseph/n-util";
111
+
112
+ dt.addTime(Duration.fromHours(3)); // DST-aware shift
113
+ dt.subtractTime(Duration.fromMinutes(15));
114
+ dt.addDays(7); // calendar day, DST-preserving
115
+ dt.subtractDays(1);
116
+ ```
117
+
118
+ ### Format
119
+
120
+ ```typescript
121
+ dt.toStringDateTime(); // "2026-04-20 11:30:45"
122
+ dt.toStringISO(); // "2026-04-20T11:30:45.000-04:00"
123
+ dt.toString(); // "2026-04-20 11:30:45 America/New_York"
124
+ dt.format(DateTimeFormat.yearMonthDay); // "2026-04-20"
125
+ dt.formatExt("DDDD"); // "Monday, April 20, 2026"
126
+ ```
127
+
128
+ ### Convert zones
129
+
130
+ ```typescript
131
+ const ny = DateTime.now("America/New_York");
132
+ const tokyo = ny.convertToZone("Asia/Tokyo");
133
+
134
+ ny.timestamp === tokyo.timestamp; // true — same instant, different wall clock
135
+ ```
136
+
137
+ ## Testing with fake time
138
+
139
+ For deterministic tests, freeze or relativize "now":
140
+
141
+ ```typescript
142
+ DateTime.useFixedNow(1_700_000_000);
143
+ DateTime.now("utc"); // always 2023-11-14 22:13:20
144
+
145
+ DateTime.useRelativeNow(1_700_000_000);
146
+ // DateTime.now() advances normally from this base.
147
+
148
+ DateTime.resetFixedOrRelativeNow();
149
+ ```
150
+
151
+ Always reset in an `afterEach` hook so leaked state does not affect later tests.