javascript日期格式化示例分享


在JavaScript中,日期格式化通常可以通过多种方法实现,包括使用内置的`Date`对象方法结合字符串模板或第三方库(如`moment.js`或`date-fns`)。但考虑到简洁性和效率,下面是一个不使用第三方库,仅使用原生JavaScript的日期格式化示例:


function formatDate(date, format = 'yyyy-MM-dd') {
  let year = date.getFullYear();
  let month = String(date.getMonth() + 1).padStart(2, '0'); // 月份是从0开始的
  let day = String(date.getDate()).padStart(2, '0');

  let formattedDate = format
    .replace('yyyy', year)
    .replace('MM', month)
    .replace('dd', day);

  return formattedDate;
}

// 示例用法
const now = new Date();
console.log(formatDate(now)); // 输出类似 '2024-09-19'
console.log(formatDate(now, 'yyyy/MM/dd')); // 输出类似 '2024/09/19'
console.log(formatDate(now, 'dd-MM-yyyy')); // 输出类似 '19-09-2024'

这个`formatDate`函数接受一个`Date`对象和一个可选的格式化字符串。它使用简单的字符串替换来格式化日期。默认格式是`'yyyy-MM-dd'`,但你可以通过传递不同的格式化字符串来改变输出的格式。注意,月份是从0开始的,所以在使用之前需要加1。同时,使用了`String.prototype.padStart`方法来确保月份和日期始终是两位数。