mirror of
https://github.com/ente-io/ente.git
synced 2025-07-13 10:28:42 +00:00
48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
export interface TimeDelta {
|
|
hours?: number;
|
|
days?: number;
|
|
months?: number;
|
|
years?: number;
|
|
}
|
|
|
|
export function getUnixTimeInMicroSecondsWithDelta(delta: TimeDelta): number {
|
|
let currentDate = new Date();
|
|
if (delta?.hours) {
|
|
currentDate = _addHours(currentDate, delta.hours);
|
|
}
|
|
if (delta?.days) {
|
|
currentDate = _addDays(currentDate, delta.days);
|
|
}
|
|
if (delta?.months) {
|
|
currentDate = _addMonth(currentDate, delta.months);
|
|
}
|
|
if (delta?.years) {
|
|
currentDate = _addYears(currentDate, delta.years);
|
|
}
|
|
return currentDate.getTime() * 1000;
|
|
}
|
|
|
|
function _addDays(date: Date, days: number): Date {
|
|
const result = new Date(date);
|
|
result.setDate(date.getDate() + days);
|
|
return result;
|
|
}
|
|
|
|
function _addHours(date: Date, hours: number): Date {
|
|
const result = new Date(date);
|
|
result.setHours(date.getHours() + hours);
|
|
return result;
|
|
}
|
|
|
|
function _addMonth(date: Date, months: number) {
|
|
const result = new Date(date);
|
|
result.setMonth(date.getMonth() + months);
|
|
return result;
|
|
}
|
|
|
|
function _addYears(date: Date, years: number) {
|
|
const result = new Date(date);
|
|
result.setFullYear(date.getFullYear() + years);
|
|
return result;
|
|
}
|