
【n8n教程】Date Time节点搞定日期时间处理日期时间处理是工作流自动化中最常见的需求。本教程将带你从零开始掌握n8n Date Time节点的所有操作让你的工作流在处理时间数据时游刃有余。点击获取最新AI资讯、n8n工作流、开发经验分享为什么需要学习Date Time节点想象一下这些场景定时任务每天上午9点发送日报⏱️截止时间计算项目还有几天完成时区转换给全球用户显示本地时间日期格式统一将各种日期格式转换为统一标准时间提醒在特定时间前发送提醒通知所有这些需求Date Time节点都能轻松搞定Date Time节点核心概念什么是Date Time节点Date Time节点是n8n内置的时间处理专家。它提供7种不同的操作让你能够 获取当前日期和时间➕ 对日期进行加减运算 提取日期中的特定部分 将日期转换成各种格式 计算两个日期之间的时间差 四舍五入日期到指定时间单位时区很重要n8n的所有时间操作都依赖于时区设置。记住这个优先级工作流自身的时区设置最优先n8n实例的时区设置默认为 America/New York建议在工作流设置中明确指定时区避免时间混乱7大操作逐个击破1️⃣ 获取当前日期Get Current Date使用场景你需要一个起点时间来进行其他计算配置步骤添加Date Time节点选择操作Get Current Date选项1 -Include Current Time✅ 打开 获取完整的日期和时间例如2025-12-01T12:24:00Z❌ 关闭 仅获取日期时间设为午夜例如2025-12-01T00:00:00ZOutput Field Name给输出起个名字例如current_date代码示例{operation:getCurrentDate,includeCurrentTime:true,outputFieldName:now}实际效果输入无 输出{ now: 2025-12-01T12:24:00Z }2️⃣ 对日期进行加法运算Add to a Date使用场景设置提醒日期、计算截止日期等配置步骤Date to Add To输入基础日期Time Unit to Add选择时间单位年、月、周、天、小时、分钟、秒Duration输入数字例如7表示加7个单位Output Field Name输出字段名例如deadline时间单位对照表单位说明示例Year年加1年Month月加3个月Week周加2周Day天加7天Hour小时加2小时Minute分钟加30分钟Second秒加500秒代码示例{operation:addToDate,dateToAddTo:{{ $json.start_date }},timeUnitToAdd:day,duration:7,outputFieldName:due_date}实际效果输入start_date 2025-12-01 输出due_date 2025-12-08一周后的日期3️⃣ 从日期中提取部分Extract Part of a Date使用场景从完整日期中提取年份、月份、日期等可提取的部分Year- 年份2025Month- 月份1-12Week- 周数1-53Day- 日期1-31Hour- 小时0-23Minute- 分钟0-59Second- 秒0-59代码示例{operation:extractDatePart,date:{{ $json.birth_date }},part:year,outputFieldName:birth_year}实际效果输入birth_date 1990-05-15T14:30:00Z 输出birth_year 19904️⃣ 日期格式转换Format a Date使用场景让日期显示成用户能看懂的格式预设格式选项格式示例输出使用场景MM/DD/YYYY12/01/2025美国风格YYYY/MM/DD2025/12/01标准排序MMMM DD YYYYDecember 01 2025友好阅读MM-DD-YYYY12-01-2025短横线分隔YYYY-MM-DD2025-12-01ISO标准自定义格式符号使用Luxon标准符号含义示例yyyy4位年份2025MM2位月份01, 12dd2位日期01, 31HH2位小时(24h)00, 23mm2位分钟00, 59ss2位秒00, 59MMMM完整月份名January, Decembercccc完整星期名Monday, Sunday代码示例-预设格式{operation:formatDate,date:{{ $json.order_date }},format:YYYY-MM-DD,outputFieldName:formatted_date}代码示例-自定义格式{operation:formatDate,date:{{ $json.event_date }},format:Custom Format,customFormat:yyyy年MM月dd日 HH:mm,outputFieldName:chinese_date}实际效果输入event_date 2025-12-01T14:30:00Z 输出1ISOformatted_date 2025-12-01 输出2自定义chinese_date 2025年12月01日 14:305️⃣ 计算时间差Get Time Between Dates使用场景计算项目还剩几天、员工工作多少年等配置步骤Start Date开始日期较早的日期End Date结束日期较晚的日期Units选择计算单位可多选Year年Month月Week周Day天Hour小时Minute分钟Second秒Output as ISO String可选将结果格式化为ISO时间段格式代码示例{operation:getTimeBetweenDates,startDate:{{ $json.project_start }},endDate:{{ $json.project_end }},units:[day,hour],outputFieldName:duration}实际效果输入 start 2025-01-01 end 2025-01-10 输出duration { day: 9, hour: 0 }ISO格式输出示例P1Y3M13D 1年3个月13天P5DT2H30M 5天2小时30分钟6️⃣ 日期四舍五入Round a Date使用场景简化日期便于数据分组或统计配置步骤Date要四舍五入的日期Mode选择方向Round Down向下舍入Round Up向上舍入To Nearest舍入到哪个单位年、月、周、天、小时、分钟、秒代码示例{operation:roundDate,date:{{ $json.event_time }},mode:down,toNearest:hour,outputFieldName:rounded_time}实际效果输入event_time 2025-12-01T14:37:45Z 舍入到小时向下rounded_time 2025-12-01T14:00:00Z7️⃣ 从日期中减法Subtract From a Date使用场景计算截止日期前多少天、生日前几周等配置步骤Date to Subtract From基础日期Time Unit to Subtract时间单位Duration要减去的数字Output Field Name输出字段名代码示例{operation:subtractFromDate,dateToSubtractFrom:{{ $json.deadline }},timeUnitToSubtract:day,duration:3,outputFieldName:reminder_date}实际效果输入deadline 2025-12-10 输出reminder_date 2025-12-073天前实战案例构建一个完整的订单跟踪工作流需求描述创建一个工作流当收到订单时✅ 记录订单时间✅ 自动计算预计发货日期订单日期 2天✅ 计算预计收货日期发货日期 5天✅ 格式化日期以便展示✅ 计算订单距现在还有多少天完整工作流JSON代码将以下JSON导入到你的n8n中即可一键使用{name:订单时间跟踪系统,nodes:[{parameters:{},id:d4e5f6g7h8i9,name:Manual Trigger,type:n8n-nodes-base.manualTrigger,typeVersion:1,position:[250,300]},{parameters:{mode:set,values:{string:[{name:order_date,value:{{ $now.toISO() }}},{name:order_id,value:ORD-20251201-001},{name:product_name,value:智能手环},{name:amount,value:299}]}},id:a1b2c3d4e5f6,name:初始化订单信息,type:n8n-nodes-base.set,typeVersion:3,position:[450,300],connections:{main:[[{node:f7g8h9i0j1k2,type:main,index:0}]]}},{parameters:{operation:addToDate,dateToAddTo:{{ $json.order_date }},timeUnitToAdd:day,duration:2,outputFieldName:expected_ship_date,includeInputFields:true},id:f7g8h9i0j1k2,name:计算发货日期2天,type:n8n-nodes-base.dateTime,typeVersion:2,position:[650,300],connections:{main:[[{node:g8h9i0j1k2l3,type:main,index:0}]]}},{parameters:{operation:addToDate,dateToAddTo:{{ $json.expected_ship_date }},timeUnitToAdd:day,duration:5,outputFieldName:expected_delivery_date,includeInputFields:true},id:g8h9i0j1k2l3,name:计算收货日期5天,type:n8n-nodes-base.dateTime,typeVersion:2,position:[850,300],connections:{main:[[{node:h9i0j1k2l3m4,type:main,index:0}]]}},{parameters:{operation:formatDate,date:{{ $json.order_date }},format:YYYY-MM-DD,outputFieldName:formatted_order_date,includeInputFields:true},id:h9i0j1k2l3m4,name:格式化订单日期,type:n8n-nodes-base.dateTime,typeVersion:2,position:[1050,300],connections:{main:[[{node:i0j1k2l3m4n5,type:main,index:0}]]}},{parameters:{operation:formatDate,date:{{ $json.expected_delivery_date }},format:MMMM DD YYYY,outputFieldName:friendly_delivery_date,includeInputFields:true},id:i0j1k2l3m4n5,name:友好格式收货日期,type:n8n-nodes-base.dateTime,typeVersion:2,position:[1250,300],connections:{main:[[{node:j1k2l3m4n5o6,type:main,index:0}]]}},{parameters:{operation:getTimeBetweenDates,startDate:{{ $json.order_date }},endDate:{{ $json.expected_delivery_date }},units:[day],outputFieldName:delivery_days,includeInputFields:true},id:j1k2l3m4n5o6,name:计算交付天数,type:n8n-nodes-base.dateTime,typeVersion:2,position:[1450,300],connections:{main:[[{node:k2l3m4n5o6p7,type:main,index:0}]]}},{parameters:{mode:set,values:{string:[{name:summary,value:订单 {{ $json.order_id }} 已收到预计 {{ $json.friendly_delivery_date }} 送达共需 {{ $json.delivery_days.day }} 天。}]}},id:k2l3m4n5o6p7,name:生成订单摘要,type:n8n-nodes-base.set,typeVersion:3,position:[1650,300]}],connections:{}}工作流执行流程[Manual Trigger] ↓ [初始化订单信息] → 设置订单日期、ID、产品名称 ↓ [计算发货日期2天] → 自动计算发货时间 ↓ [计算收货日期5天] → 基于发货日期计算收货时间 ↓ [格式化订单日期] → 转换为 YYYY-MM-DD 格式 ↓ [友好格式收货日期] → 转换为易读的格式如 December 01 2025 ↓ [计算交付天数] → 计算订单到收货共需天数 ↓ [生成订单摘要] → 输出最终结果输出结果示例{order_id:ORD-20251201-001,product_name:智能手环,amount:299,order_date:2025-12-01T12:24:00Z,expected_ship_date:2025-12-03T12:24:00Z,expected_delivery_date:2025-12-08T12:24:00Z,formatted_order_date:2025-12-01,friendly_delivery_date:December 08 2025,delivery_days:{day:7},summary:订单 ORD-20251201-001 已收到预计 December 08 2025 送达共需 7 天。}高级技巧 技巧1在表达式中使用Date Time你不需要总是添加Date Time节点。在任何字段的表达式中都可以直接使用日期函数// 获取当前日期{{$now}}// 格式化当前日期{{$now.toFormat(yyyy-MM-dd)}}// 计算7天后{{$now.plus({days:7})}}// 计算3小时前{{$now.minus({hours:3})}}// 提取年份{{$now.year}} 技巧2处理不同的日期格式输入如果你收到的日期格式不一致可以在节点配置中使用**“From Date Format”**选项{operation:formatDate,date:{{ $json.user_provided_date }},fromDateFormat:dd/MM/yyyy,format:YYYY-MM-DD,outputFieldName:standardized_date}这样即使用户提供01/12/2025这样的格式n8n也能正确识别。 技巧3时区转换在**“Get Current Date”**操作中可以选择特定时区{operation:getCurrentDate,timezone:Asia/Shanghai,includeCurrentTime:true,outputFieldName:shanghai_time}常用时区列表America/New_York- 纽约Europe/London- 伦敦Asia/Tokyo- 东京Asia/Shanghai- 上海Australia/Sydney- 悉尼常见错误排查❌ 错误1Invalid DateTime症状出现错误Invalid DateTime或can’t be converted to a dateTime原因日期格式不被识别解决方案使用Date Time节点的**“From Date Format”**选项指定输入格式使用ISO标准格式YYYY-MM-DD在Set节点中确保转换正确❌ 错误2时区混乱症状计算出的日期总是差几个小时原因没有正确设置时区解决方案在工作流设置中设置正确的时区在Date Time节点中明确指定时区确保所有日期都使用UTC或同一时区❌ 错误3日期计算结果不对症状加2天后不是预期的日期原因输入的日期格式有问题或没有包含时间信息解决方案在Set节点中预览数据确认日期格式正确使用Format Date操作标准化日期格式使用代码调试功能检查中间结果总结阶段重点操作初级了解基本概念Get Current Date、Format Date中级灵活计算日期Add/Subtract from Date、Extract Part高级复杂时间逻辑Get Time Between Dates、Round Date精通在表达式中使用$now、时区转换、多操作链接官方文档n8n系列教程