phx-node
Version:
PHX NODE
93 lines • 4.28 kB
JavaScript
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
;