JS毫秒转日期格式 yyyy-mm-dd

🧑‍💻 User

js实现毫秒转日期 yyyy-mm-dd


🤖 Assistant

下面给出一个简单的 JavaScript 实现示例,将毫秒数转换为日期格式(yyyy-mm-dd):

/**
 * 将毫秒数转换为日期字符串(格式:yyyy-mm-dd)
 * @param {number} ms - 毫秒数
 * @returns {string} 格式化后的日期字符串
 */
function msToDate(ms) {
  // 创建 Date 对象
  const date = new Date(ms);

  // 获取年份、月份和日期
  const year = date.getFullYear();
  // 月份从0开始,所以需要加1
  let month = date.getMonth() + 1;
  let day = date.getDate();

  // 对月份和日期进行格式化,保证两位数字(例如:03、09)
  month = month < 10 ? '0' + month : month;
  day = day < 10 ? '0' + day : day;

  // 拼装成 yyyy-mm-dd 格式
  return `${year}-${month}-${day}`;
}

// 测试代码
let timestamp = 1672531199000; // 示例毫秒数
console.log(msToDate(timestamp));  // 输出示例:2023-12-31

代码说明

  1. Date 对象
    利用 new Date(ms) 将传入的毫秒数转换为日期对象。

  2. 获取年、月、日
    分别通过 getFullYear()getMonth()getDate() 获取对应的年、月、日。其中,getMonth() 返回的月份值是从 0 开始的,所以要加 1。

  3. 格式化月和日
    使用条件判断,如果月份或日期小于10,则前面补零,确保输出结果为两位数字。

  4. 拼装日期字符串
    使用模板字符串拼接成标准的 yyyy-mm-dd 格式。

这种方式简单且易于理解,可以满足需求,将毫秒转换为指定格式的日期字符串。