在 TypeScript 中,你可以使用 JavaScript 的 Date 对象来解析这个 ISO 格式的日期时间字符串,并从中提取出年月日的信息。以下是一个示例函数,它接受一个 ISO 格式的日期时间字符串,并返回一个格式为 “YYYY-MM-DD” 的字符串:
function formatISODateToYYYYMMDD(isoDateString: string): string {
// 解析 ISO 格式的日期时间字符串为 Date 对象
const date = new Date(isoDateString);
// 从 Date 对象中提取年月日信息
const year = date.getUTCFullYear();
const month = String(date.getUTCMonth() + 1).padStart(2, '0'); // 月份从 0 开始,所以加 1,并使用 padStart 确保为两位数
const day = String(date.getUTCDate()).padStart(2, '0'); // 使用 padStart 确保为两位数
// 拼接成 "YYYY-MM-DD" 格式的字符串
return `${year}-${month}-${day}`;
}
// 使用示例
const isoDateString = "2024-03-05T00:00:00+00:00";
const formattedDate = formatISODateToYYYYMMDD(isoDateString);
console.log(formattedDate); // 输出: 2024-03-05
在这个函数中,new Date(isoDateString) 创建了一个 Date 对象,它表示了 ISO 格式的日期时间字符串所代表的日期和时间。然后,我们使用 getUTCFullYear、getUTCMonth 和 getUTCDate 方法来分别获取年份、月份和日期。由于 getUTCMonth 返回的月份是从 0 开始的,所以需要加 1。padStart 方法用来确保月份和日期始终是两位数,通过在前面填充 ‘0’ 来实现。
最后,我们将这三个部分拼接成一个格式为 “YYYY-MM-DD” 的字符串,并返回这个字符串。在示例中,formattedDate 变量将包含 “2024-03-05”,这正是预期结果。