zync-nest-library
Version:
NestJS library with database backup and file upload utilities
42 lines (32 loc) • 1.15 kB
text/typescript
import moment from "moment";
function parseDate(dateString: string): Date | null {
const parts = dateString.split("/");
if (parts.length !== 3) return null;
const day = parseInt(parts[0]);
const month = parseInt(parts[1]);
const year = parseInt(parts[2]);
// Validate ranges
if (day < 1 || day > 31 || month < 1 || month > 12 || year < 0 || year > 99) {
return null;
}
// Convert 2-digit year to 4-digit (assuming 20xx for years 00-99)
const fullYear = year < 50 ? 2000 + year : 1900 + year;
return new Date(fullYear, month - 1, day);
}
export const DateUtils = {
formatStringDate: (dateString: string): number => {
const date = parseDate(dateString);
if (!date) return moment().valueOf();
const formattedDate = date.toLocaleDateString("en-GB", {
day: "2-digit",
month: "2-digit",
year: "numeric",
});
// If it's a string, parse it with the correct format
if (typeof formattedDate === "string") {
const parsed = moment(formattedDate, "DD/MM/YYYY");
return parsed.isValid() ? parsed.valueOf() : moment().valueOf();
}
return moment().valueOf();
},
};