Files
alexandrev-tibco f4157f6b82
Build and push image / build (push) Successful in 1m15s
Improve puzzle difficulty and sharing
2026-05-04 21:04:27 +02:00

28 lines
896 B
TypeScript

export const SERVER_TIME_ZONE = process.env.NEXT_PUBLIC_SERVER_TIME_ZONE ?? "Europe/Madrid";
export function getDateKeyInTimeZone(date = new Date(), timeZone = SERVER_TIME_ZONE): string {
const formatter = new Intl.DateTimeFormat("en-CA", {
timeZone,
year: "numeric",
month: "2-digit",
day: "2-digit",
});
const parts = formatter.formatToParts(date);
const year = parts.find((part) => part.type === "year")?.value;
const month = parts.find((part) => part.type === "month")?.value;
const day = parts.find((part) => part.type === "day")?.value;
if (!year || !month || !day) {
return date.toISOString().slice(0, 10);
}
return `${year}-${month}-${day}`;
}
export function formatElapsed(seconds: number): string {
const minutes = Math.floor(seconds / 60);
const remainder = seconds % 60;
return `${minutes}:${remainder.toString().padStart(2, "0")}`;
}