Skip to content

Commit 672f59e

Browse files
committed
[ts-utils: v0.4.0] addTimeMS and truncateTimeMS.
1 parent 115d609 commit 672f59e

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

packages/ts-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tensor-hq/ts-utils",
3-
"version": "0.3.0",
3+
"version": "0.4.0",
44
"description": "Minimal utilities in TypeScript.",
55
"sideEffects": false,
66
"module": "./dist/esm/index.js",

packages/ts-utils/src/time.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,22 @@ export const waitMS = async (ms: number): Promise<void> =>
3232

3333
/** Truncates (floors) the time portion of a date to the nearest interval */
3434
export const truncateTime = (date: Date, intervalMs: number): Date => {
35-
const timePortion = date.getTime() % intervalMs;
36-
return new Date(date.getTime() - timePortion);
35+
return new Date(truncateTimeMS(date.getTime(), intervalMs));
36+
};
37+
38+
/** Truncates (floors) the time portion of a date to the nearest interval */
39+
export const truncateTimeMS = (date: number, intervalMs: number): number => {
40+
return date - (date % intervalMs);
3741
};
3842

3943
export const addTime = (date: Date | number, time: Timespan): Date => {
40-
return new Date(new Date(date).getTime() + totalMS(time));
44+
return new Date(
45+
addTimeMS(typeof date === 'number' ? date : date.getTime(), time),
46+
);
47+
};
48+
49+
export const addTimeMS = (date: number, time: Timespan): number => {
50+
return date + totalMS(time);
4151
};
4252

4353
export const calcNumDays = (start: number, end: number): number => {

0 commit comments

Comments
 (0)