1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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;
- }
- export function validateAndGetCreationUnixTimeInMicroSeconds(dateTime: Date) {
- if (!dateTime || isNaN(dateTime.getTime())) {
- return null;
- }
- const unixTime = dateTime.getTime() * 1000;
- //ignoring dateTimeString = "0000:00:00 00:00:00"
- if (unixTime === Date.UTC(0, 0, 0, 0, 0, 0, 0) || unixTime === 0) {
- return null;
- } else if (unixTime > Date.now() * 1000) {
- return null;
- } else {
- return unixTime;
- }
- }
- 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;
- }
|