📅  最后修改于: 2023-12-03 15:37:55.225000             🧑  作者: Mango
在JavaScript中,我们经常会处理时间和日期。在许多情况下,我们会接收到以ISO格式(例如:"2019-12-19T14:30:00.000Z")表示的时间戳字符串。
本文将介绍如何从ISO字符串javascript中获取时间和日期的方法。
我们可以使用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);
}
当我们有了Date对象后,就可以轻松地获取其表示时间和日期的各个部分。
Date对象提供了多个方法来获取表示时间的元素,例如小时,分钟,秒和毫秒。这些方法包括:
下面是一个例子,展示如何从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对象还提供了多个方法来获取表示日期的元素,例如年,月和日。这些方法包括:
下面是一个例子,展示如何从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,
};
}
以上就是从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,
};
}
希望本文对你有所帮助!