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

如何使用Day.js合并日期与时间?附目标格式示例

Day.js 合并日期与时间为ISO 8601格式的方案

内置方法实现

Day.js没有专门的“合并日期时间字符串”内置方法,但可以通过组合现有API轻松完成需求。由于给定的时间字符串已包含UTC时区(+00:00),我们可以先将日期和时间拼接为完整的ISO格式字符串,再用Day.js解析并输出标准的UTC格式。

需要注意:要处理UTC时区,需引入Day.js的utc插件。

示例代码:

const dayjs = require('dayjs');
const utc = require('dayjs/plugin/utc');

dayjs.extend(utc);

const dateStr = '2023-04-04';
const timeStr = '13:02:00.963+00:00';

// 拼接日期时间字符串,解析后转为UTC格式输出
const formattedDatetime = dayjs(`${dateStr}T${timeStr}`)
  .utc()
  .format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');

console.log(formattedDatetime); // 输出:2023-04-04T13:02:00.963Z

替代方案

1. 原生JavaScript Date对象

无需依赖Day.js,直接拼接字符串创建Date实例,再调用toISOString()方法即可得到目标格式:

const dateStr = '2023-04-04';
const timeStr = '13:02:00.963+00:00';

const datetime = new Date(`${dateStr}T${timeStr}`);
console.log(datetime.toISOString()); // 输出:2023-04-04T13:02:00.963Z

2. 纯字符串拼接处理

如果可以确定时间字符串固定为+00:00时区,也可以直接通过字符串替换和拼接实现,这种方式性能最高,但通用性较差(仅适用于UTC时区场景):

const dateStr = '2023-04-04';
const timeStr = '13:02:00.963+00:00';

const formattedDatetime = `${dateStr}T${timeStr.replace('+00:00', 'Z')}`;
console.log(formattedDatetime); // 输出:2023-04-04T13:02:00.963Z

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 23:27:20