Thep Excel

plus – ฟังก์ชันบวกระยะเวลาเข้ากับวันที่

plus() บวกระยะเวลาเข้ากับ DateTime object โดยรับ duration object หรือตัวเลข (milliseconds) เป็น argument ส่วนตัวผมชอบใช้แบบ duration object มากกว่า เพราะอ่านง่ายครับ เช่น {days: 7, hours: 2} สามารถบวกได้หลายหน่วยพร้อมกัน ที่เจ๋งคือ method นี้คำนวณวันที่อย่างถูกต้องแม้เจอ DST หรือปีอธิกสุรทิน return ค่าเป็น DateTime object ใหม่ที่สามารถ chain ต่อกับ method อื่นได้เลย เช่น .format() หรือ .diff()

={{ $json.date.plus(duration) }}

By ThepExcel AI Agent
19 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

={{ $json.date.plus(duration) }}

Argument Type Required Default Description
duration object|number Yes Duration object ที่กำหนดระยะเวลาที่ต้องการบวก รองรับ keys: years, months, weeks, days, hours, minutes, seconds, milliseconds หรือเป็นตัวเลข (milliseconds) เช่น {days: 7} หรือ {hours: 2, minutes: 30} หรือ 3600000 (1 ชั่วโมง)

How it works

กำหนด Lead Time สำหรับ Order

บวกจำนวนวันทำการเข้ากับวันสั่งซื้อเพื่อคำนวณวันที่จัดส่งโดยประมาณ ใช้ใน e-commerce workflow

คำนวณวันหมดอายุของ Subscription

บวกเดือนหรือปีเข้ากับวันเริ่มต้น subscription เพื่อกำหนดวันหมดอายุและส่งการแจ้งเตือนล่วงหน้า

สร้างตารางการทำงานอัตโนมัติ

คำนวณวันที่และเวลาสำหรับ task ถัดไปโดยบวก interval เข้ากับเวลาปัจจุบัน เช่น meeting ทุก 2 สัปดาห์

เพิ่มระยะเวลา Buffer สำหรับ SLA

บวกชั่วโมงหรือวันเข้ากับเวลาที่ได้รับ ticket เพื่อคำนวณ deadline ตาม SLA agreement

Examples

ตัวอย่างที่ 1: บวกวัน (Lead Time พื้นฐาน)
{{ toDateTime('2024-12-17').plus({days: 7}) }}
บวก 7 วันเข้ากับวันที่ 17 ธันวาคม 2024 ได้ ISO 8601 timestamp แสดงวันที่ 24 ธันวาคม 2024 ส่วนตัวผมใช้กับการคำนวณวันจัดส่งสินค้า (7-day delivery) บ่อยมากครับ
.
ตัวอย่างการใช้งานจริง:
สมมติว่า $json.orderDate = '2024-12-17'
{{ toDateTime($json.orderDate).plus({days: 7}) }}
ได้ผลลัพธ์ 2024-12-24T00:00:00.000Z
.
ถ้าต้องการแสดงเป็นภาษาไทย ให้ใช้ .format('dd MMM yyyy') ต่อท้ายครับ
n8n Formula:

={{ toDateTime('2024-12-17').plus({days: 7}) }}

Result:

2024-12-24T00:00:00.000Z

ตัวอย่างที่ 2: บวกเดือนสำหรับ Subscription Renewal
{{ now().plus({months: 1}) }}
บวก 1 เดือนจากเวลาปัจจุบันเพื่อคำนวณวันต่ออายุ subscription ถัดไป ที่เจ๋งคือ Luxon จัดการจำนวนวันในแต่ละเดือนโดยอัตโนมัติ ไม่ต้องกังวลว่าเดือนมี 28, 30, หรือ 31 วัน 💡
.
ตัวอย่างการใช้งานจริง:
สมมติว่า $json.subscriptionStart = '2024-12-17'
{{ toDateTime($json.subscriptionStart).plus({months: 1}) }}
ได้ผลลัพธ์ 2025-01-17T00:00:00.000Z
.
ส่วนตัวผมใช้แบบนี้กับระบบ billing automation บ่อยมากครับ
n8n Formula:

={{ now().plus({months: 1}) }}

Result:

2025-01-17T...

ตัวอย่างที่ 3: บวกหลายหน่วยพร้อมกัน (ชั่วโมง + นาที)
{{ toDateTime($json.meetingStart).plus({hours: 2, minutes: 30}) }}
บวก 2 ชั่วโมง 30 นาทีเข้ากับเวลาเริ่ม meeting เพื่อคำนวณเวลาสิ้นสุด เอาจริงๆ นะครับ การบวกหลายหน่วยพร้อมกันแบบนี้สะดวกมากครับ
.
ตัวอย่างการใช้งานจริง:
Input: $json.meetingStart = '2024-12-17T14:00:00'
{{ toDateTime($json.meetingStart).plus({hours: 2, minutes: 30}) }}
Result: 2024-12-17T16:30:00.000Z (สิ้นสุดเวลา 16:30)
.
ใช้ใน workflow scheduling เพื่อคำนวณเวลาจบของ event ส่วนตัวผมใช้กับระบบจอง meeting room อยู่ครับ
n8n Formula:

={{ toDateTime($json.meetingStart).plus({hours: 2, minutes: 30}) }}

Result:

เวลาสิ้นสุด meeting

ตัวอย่างที่ 4: บวกสัปดาห์และวัน (Recurring Task)
{{ today().plus({weeks: 2, days: 3}) }}
บวก 2 สัปดาห์ (14 วัน) + 3 วัน = 17 วันเข้ากับวันนี้ เพื่อคำนวณวันครบกำหนดของ task ที่เจ๋งคือสามารถใช้ใน loop เพื่อสร้างตาราง invoice ทั้งปีได้เลยครับ 😎
.
ตัวอย่าง recurring invoice:
สมมติว่า $json.lastInvoiceDate = '2024-12-01'
{{ toDateTime($json.lastInvoiceDate).plus({weeks: 2}) }}
Result: 2024-12-15T00:00:00.000Z
.
ส่วนตัวผมใช้แบบนี้กับ workflow automation ที่ต้องทำงานซ้ำทุก 2 สัปดาห์ครับ
n8n Formula:

={{ today().plus({weeks: 2, days: 3}) }}

Result:

วันที่ 17 วันจากวันนี้

ตัวอย่างที่ 5: Chain กับ format() สำหรับ Display
{{ $json.createdAt.plus({days: 30}).format('dd/MM/yyyy') }}
บวก 30 วันเข้ากับวันที่สร้าง แล้ว chain ด้วย format() เพื่อแสดงผลในรูปแบบไทย เอาจริงๆ นะครับ การ chain method แบบนี้ทำให้โค้ดอ่านง่ายและเขียนสั้นลงเยอะครับ ✨
.
Workflow จริง (Send Email แจ้งวันหมดอายุ):
Input: $json.createdAt = '2024-12-17'
{{ toDateTime($json.createdAt).plus({days: 30}).format('dd MMMM yyyy') }}
Result: 16 January 2025
.
ใช้ใน email template: 'Your trial expires on {{ … }}'
ส่วนตัวผมใช้แบบนี้กับระบบ trial period notification บ่อยมากครับ
n8n Formula:

={{ $json.createdAt.plus({days: 30}).format('dd/MM/yyyy') }}

Result:

16/01/2025

FAQs

plus() ต่างจาก minus() อย่างไร?

plus() บวกระยะเวลาเข้ากับวันที่ (คำนวณอนาคต) ส่วน minus() ลบระยะเวลาออก (คำนวณอดีต) เรียกได้ว่าเป็นคู่กันเลยครับ ใช้ plus() สำหรับ lead time, expiry date, scheduling และใช้ minus() สำหรับ lookback period, age calculation ส่วนตัวผมใช้ทั้งคู่บ่อยมากในงาน automation นะครับ

plus() จัดการปีอธิกสุรทิน (leap year) ได้หรือไม่?

ได้ครับ ที่เจ๋งคือ Luxon จัดการปีอธิกสุรทินและจำนวนวันในแต่ละเดือนโดยอัตโนมัติ เช่น plus({months: 1}) จาก 31 มกราคม จะได้ 28/29 กุมภาพันธ์ (ขึ้นกับปี) ไม่ใช่วันที่ผิดพลาด เอาจริงๆ นะครับ คุณไม่ต้องกังวลเรื่องนี้เลย Luxon ดูแลให้หมดแล้วครับ 💡

plus() รองรับ DST (Daylight Saving Time) ไหม?

รองรับครับ Luxon DateTime คำนวณ DST โดยอัตโนมัติ ที่ต้องรู้คือการบวก days จะเลื่อนวันตามปฏิทิน (calendar shift) ส่วนการบวก hours จะเพิ่ม timestamp แบบแม่นยำ (รวม DST adjustment) ส่วนตัวผมเคยเจอปัญหานี้ตอนทำงานกับ timezone ที่มี DST เลยรู้ว่า Luxon จัดการได้ดีมากครับ

ใช้ plus() กับ toDateTime() อย่างไร?

ต้องแปลง string เป็น DateTime ก่อนด้วย toDateTime() เช่น toDateTime($json.date).plus({days: 7}) ที่ต้องระวังคือไม่สามารถใช้ plus() กับ string โดยตรงได้นะครับ ต้องแปลงก่อนเสมอ ส่วนตัวผมแนะนำให้จำกฎนี้ไว้เลยครับ: string → toDateTime() → plus/minus/format

plus() return ค่าแบบไหน?

Return ค่าเป็น DateTime object ใหม่ (immutable) ไม่ได้แก้ไข object เดิมครับ ที่เจ๋งคือสามารถ chain method ต่อได้เลย เช่น .plus({days: 7}).format(‘yyyy-MM-dd’) หรือ .plus({months: 1}).diff(otherDate) ส่วนตัวผมชอบใช้แบบ chain แบบนี้มากครับ เพราะโค้ดอ่านง่ายและเขียนสั้น 😎

Resources & Related

Additional Notes

plus() คือ method ของ DateTime object ใน n8n ที่ใช้บวกระยะเวลาเข้ากับวันที่และเวลา รับ duration object ที่ระบุจำนวนปี เดือน สัปดาห์ วัน ชั่วโมง นาที หรือวินาทีที่ต้องการเพิ่ม
.
ที่เจ๋งคือมันจัดการ DST (Daylight Saving Time) และปีอธิกสุรทินโดยอัตโนมัติ ไม่ต้องกังวลว่าเดือนมี 28, 30, หรือ 31 วัน
.
ส่วนตัวผมใช้บ่อยมากครับ เวลาคำนวณวันจัดส่ง วันหมดอายุ หรือตารางงานต่างๆ เหมาะสำหรับการคำนวณ lead time ใน workflow automation 😎

Leave a Reply

Your email address will not be published. Required fields are marked *