UNPKG

phx-node

Version:

PHX NODE

93 lines 4.28 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PHXDateHelpers = void 0; const common_1 = require("@nestjs/common"); let PHXDateHelpers = class PHXDateHelpers { calculateDateDifference(startDate, endDate, valueReturnIfNotValidDate = 0) { if (!startDate || !endDate) return valueReturnIfNotValidDate; const getDateWithTime = (date) => new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0, 0).getTime(); const startDateWithTime = getDateWithTime(new Date(startDate)); const endDateWithTime = getDateWithTime(new Date(endDate)); if (startDateWithTime >= endDateWithTime) return valueReturnIfNotValidDate; const differenceInDays = (endDateWithTime - startDateWithTime) / (1000 * 60 * 60 * 24); return Math.round(differenceInDays); } dateStrToDate(date) { if (!date) return ""; return date.slice(8, 10) + "/" + date.slice(5, 7) + "/" + date.slice(0, 4); } dateStrToDateTime(date, isTimeFirst = true) { if (!date) return "---"; const time = date.slice(11, 16); const day = date.slice(8, 10); const month = date.slice(5, 7); const year = date.slice(0, 4); const dateStr = day + "/" + month + "/" + year; if (isTimeFirst) { return time + " " + dateStr; } else { return dateStr + " " + time; } } formatDateHyphen(timestamp) { if (!timestamp) return null; const date = new Date(timestamp); const day = date.getUTCDate(); const month = date.getUTCMonth() + 1; const year = date.getUTCFullYear(); const fullDay = day < 10 ? `0${day}` : day; const fullMonth = month < 10 ? `0${month}` : month; const formattedDate = `${year}-${fullMonth}-${fullDay}`; return formattedDate; } calculateRemainingTime(startTimeString, endTimeString) { if (startTimeString && endTimeString) { const startTime = new Date(startTimeString); const endTime = new Date(endTimeString); const timeDifference = endTime - startTime; const timeDifferenceInSeconds = timeDifference / 1000; const hours = Math.floor(timeDifferenceInSeconds / 3600); const minutes = Math.floor((timeDifferenceInSeconds % 3600) / 60); const remainingSeconds = timeDifferenceInSeconds % 60; return `${String(hours).padStart(2, "0")}:${String(minutes).padStart(2, "0")}:${String(Math.floor(remainingSeconds)).padStart(2, "0")}`; } } dateStrToTime(dateStr) { const date = new Date(dateStr); const hours = date.getHours(); const minutes = date.getMinutes(); return `${hours}:${minutes < 10 ? "0" : ""}${minutes}`; } isPastDate(compareDate) { const inputDate = new Date(compareDate); const today = new Date(); today.setHours(0, 0, 0, 0); return inputDate < today; } parseDateToParts(isoString) { const date = new Date(isoString); const hours = date.getHours().toString().padStart(2, '0'); const minutes = date.getMinutes().toString().padStart(2, '0'); const time = `${hours}:${minutes}`; const day = date.getDate().toString().padStart(2, '0'); const month = (date.getMonth() + 1).toString(); return { day, month, time }; } }; exports.PHXDateHelpers = PHXDateHelpers; exports.PHXDateHelpers = PHXDateHelpers = __decorate([ (0, common_1.Injectable)() ], PHXDateHelpers); //# sourceMappingURL=helpers.service.js.map