📌  相关文章
📜  javascript 格式小时 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:36.008000             🧑  作者: Mango

JavaScript 格式化时间 - Javascript

对于开发人员来说,时间格式化是一个常见的需求。在 JavaScript 中,有许多内置的方法可以用来格式化时间。下面介绍了一些常见的方法。

Date 对象

要格式化时间,我们需要先创建一个 Date 对象。可以使用 new Date() 方法创建一个当前时间的 Date 对象,也可以使用传入参数的方式创建一个指定时间的 Date 对象。

// 创建当前时间的 Date 对象
const now = new Date();

// 创建指定时间的 Date 对象
const specificDate = new Date("2021-10-30 10:30:00");
时间格式化

有多种方法可以格式化时间,下面是其中一些常见的方法。

toLocaleString()

toLocaleString() 方法返回一个字符串,表示这个日期对象的日期和时间部分,使用本地时间格式。

const now = new Date();
const formattedTime = now.toLocaleString();
console.log(formattedTime); // 2021/10/30 下午10:32:48
toISOString()

toISOString() 方法返回一个 ISO 格式的日期字符串。

const now = new Date();
const formattedTime = now.toISOString();
console.log(formattedTime); // 2021-10-30T14:34:48.354Z
自定义格式

如果需要更精确的格式,可以使用自定义格式。以下是一个常用的自定义格式化的函数。

function formatDate(date, format) {
  const map = {
    "M": date.getMonth() + 1,
    "d": date.getDate(),
    "h": date.getHours(),
    "m": date.getMinutes(),
    "s": date.getSeconds(),
    "q": Math.floor((date.getMonth() + 3) / 3),
    "S": date.getMilliseconds()
  };

  format = format.replace(/([yMdhmsqS])+/g, (all, t) => {
    let v = map[t];
    if(v !== undefined) {
      if(all.length > 1) {
        v = "0" + v;
        v = v.substr(v.length - 2);
      }
      return v;
    }
    else if(t === "y") {
      return (date.getFullYear() + "").substr(4 - all.length);
    }
    return all;
  });

  return format;
}

const now = new Date();
const formattedTime = formatDate(now, "yyyy-MM-dd hh:mm:ss");
console.log(formattedTime); // 2021-10-30 10:32:48
小结

以上介绍了 JavaScript 中常见的格式化时间的方法。开发人员可以根据自己的需求选择适合的方法。如果需要更多的格式化方法,可以查看 Moment.js 这个优秀的时间格式化库。