Back to Snippets
CODE
Format Date to Readable String
Description
Converts Date object to customizable string format without external libraries like moment.js
Code
/**
* Format date to readable string
* @param date Date object or timestamp
* @param format Format string (YYYY=year, MM=month, DD=day, HH=hour, mm=minute, ss=second)
* @returns Formatted date string
*/
function formatDate(date: Date | number, format = 'YYYY-MM-DD HH:mm:ss'): string {
const d = new Date(date);
const year = d.getFullYear();
const month = String(d.getMonth() + 1).padStart(2, '0');
const day = String(d.getDate()).padStart(2, '0');
const hours = String(d.getHours()).padStart(2, '0');
const minutes = String(d.getMinutes()).padStart(2, '0');
const seconds = String(d.getSeconds()).padStart(2, '0');
return format
.replace('YYYY', year.toString())
.replace('MM', month)
.replace('DD', day)
.replace('HH', hours)
.replace('mm', minutes)
.replace('ss', seconds);
}
// Usage Example
console.log(formatDate(new Date())); // 2024-05-20 14:30:45
console.log(formatDate(Date.now(), 'YYYY/MM/DD')); // 2024/05/20Usage
Lightweight alternative to moment.js for basic date formatting in UI displays, logs, or reports