Minute
startOfMinute
Returns the timestamp at the start of the minute (seconds and milliseconds set to 0).
reference/minute/startOfMinute.ts
import { startOfMinute } from "datezone";
// Current timestamp
const now = Date.now();
// Get start of current minute
const startOfCurrentMinute = startOfMinute(now);
console.log(`Now: ${new Date(now).toISOString()}`);
console.log(
`Start of current minute: ${new Date(startOfCurrentMinute).toISOString()}`,
);
// Example with specific timestamps
const timestamps = [
new Date("2023-12-25T15:30:45.123Z").getTime(),
new Date("2023-12-25T09:15:30.456Z").getTime(),
new Date("2023-12-25T00:59:59.999Z").getTime(),
new Date("2023-12-25T23:00:00.000Z").getTime(),
];
console.log("\nExamples with specific timestamps:");
for (const ts of timestamps) {
const startMinute = startOfMinute(ts);
console.log(
`${new Date(ts).toISOString()} → ${new Date(startMinute).toISOString()}`,
);
}
// Demonstrate that it removes seconds and milliseconds
console.log("\nDemonstrating precision:");
const precise = new Date("2023-12-25T14:27:38.542Z").getTime();
console.log(`Original: ${new Date(precise).toISOString()}`);
console.log(
`Start of minute: ${new Date(startOfMinute(precise)).toISOString()}`,
);
endOfMinute
Returns the timestamp at the end of the minute (59 seconds, 999 milliseconds).
reference/minute/endOfMinute.ts
import { endOfMinute } from "datezone";
// Current timestamp
const now = Date.now();
// Get end of current minute
const endOfCurrentMinute = endOfMinute(now);
console.log(`Now: ${new Date(now).toISOString()}`);
console.log(
`End of current minute: ${new Date(endOfCurrentMinute).toISOString()}`,
);
// Example with specific timestamps
const timestamps = [
new Date("2023-12-25T15:30:45.123Z").getTime(),
new Date("2023-12-25T09:15:30.456Z").getTime(),
new Date("2023-12-25T00:00:00.000Z").getTime(),
new Date("2023-12-25T23:59:59.999Z").getTime(),
];
console.log("\nExamples with specific timestamps:");
for (const ts of timestamps) {
const endMinute = endOfMinute(ts);
console.log(
`${new Date(ts).toISOString()} → ${new Date(endMinute).toISOString()}`,
);
}
// Demonstrate precision - end of minute should be xx:xx:59.999
console.log("\nDemonstrating precision:");
const precise = new Date("2023-12-25T14:27:38.542Z").getTime();
console.log(`Original: ${new Date(precise).toISOString()}`);
console.log(`End of minute: ${new Date(endOfMinute(precise)).toISOString()}`);
// Show the exact millisecond difference
console.log(`\nDifference in milliseconds: ${endOfMinute(precise) - precise}`);
addMinutes
Adds a specified number of minutes to a timestamp.
reference/minute/addMinutes.ts
import { addMinutes } from "datezone";
// Current timestamp
const now = Date.now();
// Add minutes to timestamp
console.log("Adding minutes to timestamp:");
// Add positive minutes
const inFifteenMinutes = addMinutes(now, 15);
console.log(`Now: ${new Date(now).toISOString()}`);
console.log(`In 15 minutes: ${new Date(inFifteenMinutes).toISOString()}`);
// Add negative minutes (subtract)
const fifteenMinutesAgo = addMinutes(now, -15);
console.log(`15 minutes ago: ${new Date(fifteenMinutesAgo).toISOString()}`);
// Add many minutes
const inTwoHours = addMinutes(now, 120);
console.log(`In 120 minutes (2 hours): ${new Date(inTwoHours).toISOString()}`);
// Example with specific timestamp
const specificTime = new Date("2023-12-25T10:00:00Z").getTime();
console.log("\nSpecific time examples:");
console.log(`Base: ${new Date(specificTime).toISOString()}`);
console.log(
`+30 minutes: ${new Date(addMinutes(specificTime, 30)).toISOString()}`,
);
console.log(
`-45 minutes: ${new Date(addMinutes(specificTime, -45)).toISOString()}`,
);
subMinutes
Subtracts a specified number of minutes from a timestamp.
reference/minute/subMinutes.ts
import { subMinutes } from "datezone";
// Current timestamp
const now = Date.now();
// Subtract minutes from timestamp
console.log("Subtracting minutes from timestamp:");
// Subtract positive minutes
const thirtyMinutesAgo = subMinutes(now, 30);
console.log(`Now: ${new Date(now).toISOString()}`);
console.log(`30 minutes ago: ${new Date(thirtyMinutesAgo).toISOString()}`);
// Subtract negative minutes (adds)
const inTwentyMinutes = subMinutes(now, -20);
console.log(
`Subtracting -20 minutes (adds 20): ${new Date(inTwentyMinutes).toISOString()}`,
);
// Subtract many minutes
const twoHoursAgo = subMinutes(now, 120);
console.log(
`120 minutes ago (2 hours): ${new Date(twoHoursAgo).toISOString()}`,
);
// Example with specific timestamp
const specificTime = new Date("2023-12-25T15:30:00Z").getTime();
console.log("\nSpecific time examples:");
console.log(`Base: ${new Date(specificTime).toISOString()}`);
console.log(
`-10 minutes: ${new Date(subMinutes(specificTime, 10)).toISOString()}`,
);
console.log(
`-90 minutes: ${new Date(subMinutes(specificTime, 90)).toISOString()}`,
);
minute
Minute manipulation utilities for working with date and time values at the minute granularity.
reference/minute/minute.ts
import { minute } from "datezone";
const timestamp = Date.UTC(2024, 0, 1, 12, 10, 15);
console.log("Minues", minute(timestamp, "Europe/Stockholm"));