Javascript toLocaleDateString converting nulls to 12/31/1969

73 Views Asked by At

Javasript toLocalDateString is converting my null dates in API to 12/31/1969. How can I prevent this behavior, and just show nulls? Or do I have to write conditional statements each time?

const formatDate = (dateInput: string) => {
  const formattedDate = new Date(dateInput).toLocaleDateString("en-US");
  return formattedDate;
};


<TableCell align="right">
  {customerBodyView?.enrollmentDate == null
    ? ""
    : formatDate(customerBodyView?.enrollmentDate)}
</TableCell>

enter image description here

1

There are 1 best solutions below

1
the_ging On BEST ANSWER
const formatDate = (dateInput) => {
    if (isNaN(Date.parse(dateInput))) {
        return null;
    }

    // success
    return new Date(dateInput).toLocaleDateString("en-US");
};

console.log(formatDate("12/12/2023")); // 12/12/2023
console.log(formatDate(null)); // null
console.log(formatDate("null")); // null
console.log(formatDate("")); // null
console.log(formatDate(undefined)); // null