You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Luxon将ISO 8601格式日期转换为YYYY-MM-DD格式

使用Luxon转换ISO 8601日期为YYYY-MM-DD格式的方法

首先确认你已经安装了Luxon库,未安装可执行以下命令:

  • npm 安装:npm install luxon
  • yarn 安装:yarn add luxon

核心实现代码

首先导入Luxon的DateTime模块:

// ES Module 导入方式
import { DateTime } from 'luxon';

// CommonJS 导入方式
// const { DateTime } = require('luxon');

场景1:保留UTC时区对应的日期(和示例输出一致)

你的原始日期带Z后缀属于UTC时间,如果你需要保留UTC时区对应的年月日,直接指定解析时区为utc即可,避免本地时区差异导致日期偏移:

const originalISODate = '2021-09-05T01:39:33Z';
const dateObj = DateTime.fromISO(originalISODate, { zone: 'utc' });
const result = dateObj.toFormat('yyyy-MM-dd');
console.log(result); // 输出:2021-09-05

场景2:转换为本地时区对应的日期

如果你需要把UTC时间转换为你当前运行环境的本地时区后再取日期,不需要指定zone参数:

const originalISODate = '2021-09-05T01:39:33Z';
const dateObj = DateTime.fromISO(originalISODate);
const result = dateObj.toFormat('yyyy-MM-dd');
// 东八区环境输出 2021-09-05,UTC负时区环境可能输出 2021-09-04

注意事项

格式化时年份请使用小写yyyy,大写YYYY代表ISO周年,和自然年计算逻辑不同,非特殊场景不要使用,避免出现日期错误。

内容的提问来源于stack exchange,提问作者smooth97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:27:03