📜  如何从iso字符串javascript中获取时间和日期(1)

📅  最后修改于: 2023-12-03 15:37:55.225000             🧑  作者: Mango

如何从ISO字符串JavaScript中获取时间和日期

在JavaScript中,我们经常会处理时间和日期。在许多情况下,我们会接收到以ISO格式(例如:"2019-12-19T14:30:00.000Z")表示的时间戳字符串。

本文将介绍如何从ISO字符串javascript中获取时间和日期的方法。

1.将ISO字符串转换为Date对象

我们可以使用JavaScript内置的Date对象将ISO字符串转换为日期对象。只需将ISO字符串作为参数传递给Date构造函数即可:

const isoString = '2019-12-19T14:30:00.000Z';
const date = new Date(isoString);
console.log(date);

输出结果为:

Thu Dec 19 2019 22:30:00 GMT+0800 (中国标准时间)

我们可以看到,Date对象已经将ISO字符串解析为对应的日期时间。为了方便起见,我们将上述代码封装成一个函数:

function getDateFromIsoString(isoString) {
  return new Date(isoString);
}
2.从Date对象中获取时间和日期

当我们有了Date对象后,就可以轻松地获取其表示时间和日期的各个部分。

获取时间

Date对象提供了多个方法来获取表示时间的元素,例如小时,分钟,秒和毫秒。这些方法包括:

  • getHours()
  • getMinutes()
  • getSeconds()
  • getMilliseconds()

下面是一个例子,展示如何从Date对象中获取时间的各个部分:

const date = new Date('2019-12-19T14:30:00.000Z');
const hours = date.getHours(); // 22
const minutes = date.getMinutes(); // 30
const seconds = date.getSeconds(); // 0
const milliseconds = date.getMilliseconds(); // 0

我们也可以将其封装成一个函数:

function getTimeFromDate(date) {
  const hours = date.getHours();
  const minutes = date.getMinutes();
  const seconds = date.getSeconds();
  const milliseconds = date.getMilliseconds();

  return {
    hours,
    minutes,
    seconds,
    milliseconds,
  };
}
获取日期

Date对象还提供了多个方法来获取表示日期的元素,例如年,月和日。这些方法包括:

  • getFullYear()
  • getMonth()
  • getDate()

下面是一个例子,展示如何从Date对象中获取日期的各个部分:

const date = new Date('2019-12-19T14:30:00.000Z');
const year = date.getFullYear(); // 2019
const month = date.getMonth() + 1; // 12
const day = date.getDate(); // 19

注意,由于getMonth()返回的值是0到11之间的整数,因此需要将其加1才能得到实际月份。

我们也可以将其封装成一个函数:

function getDateFromDate(date) {
  const year = date.getFullYear();
  const month = date.getMonth() + 1;
  const day = date.getDate();

  return {
    year,
    month,
    day,
  };
}
3.总结

以上就是从ISO字符串javascript中获取时间和日期的方法。我们可以将其封装成一个简单的函数,以便在项目中重复使用。下面是完整的代码:

function getDateFromIsoString(isoString) {
  return new Date(isoString);
}

function getTimeFromDate(date) {
  const hours = date.getHours();
  const minutes = date.getMinutes();
  const seconds = date.getSeconds();
  const milliseconds = date.getMilliseconds();

  return {
    hours,
    minutes,
    seconds,
    milliseconds,
  };
}

function getDateFromDate(date) {
  const year = date.getFullYear();
  const month = date.getMonth() + 1;
  const day = date.getDate();

  return {
    year,
    month,
    day,
  };
}

希望本文对你有所帮助!