Thep Excel

toDateTime – แปลงข้อมูลเป็นวัตถุวันที่และเวลา

toDateTime() แปลงสตริง ตัวเลข หรือค่าต่างๆ เป็นอ็อบเจ็กต์ Date ของ JavaScript ทำให้สามารถคำนวณเวลา เปรียบเทียบวันที่ หรือจัดการเวลาได้อย่างถูกต้อง มีประโยชน์ในการประมวลผลข้อมูลวันที่จากแหล่งต่างๆ เช่น API responses หรือ database fields

=toDateTime(value)

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=toDateTime(value)

Argument Type Required Default Description
value string|number|Date Yes สตริงวันที่ (ISO 8601 เช่น ‘2024-12-20’), ตัวเลข timestamp (milliseconds หรือ seconds), หรือ Date object ที่ต้องการแปลง

How it works

แปลงข้อมูลจากฐานข้อมูล

แปลงวันที่ที่ส่งมาจากฐานข้อมูลเป็นอ็อบเจ็กต์ Date

คำนวณระยะเวลา

แปลงข้อความเป็นวันที่แล้วคำนวณความแตกต่างกับวันที่อื่น

Examples

ตัวอย่างที่ 1: แปลงสตริง ISO format เป็น Date
{{ toDateTime('2024-12-20') }}
แปลงสตริง ISO '2024-12-20' เป็น Date object ที่สามารถใช้ได้ในการคำนวณ ดูแลว่าผลลัพธ์เป็น Date object จริงๆ ไม่ใช่แค่ string
n8n Formula:

={{ toDateTime('2024-12-20') }}

Result:

Fri Dec 20 2024 00:00:00 GMT+0000

ตัวอย่างที่ 2: แปลง Unix timestamp (milliseconds) เป็น Date
{{ toDateTime(1734700800000) }}
แปลง timestamp milliseconds เป็น Date object ส่วนตัวผมใช้ timestamp มากเพราะมันสะดวกในการทำงานกับ API ที่ส่ง timestamp มา
n8n Formula:

={{ toDateTime(1734700800000) }}

Result:

Fri Dec 20 2024 00:00:00 GMT+0000

ตัวอย่างที่ 3: คำนวณระยะเวลาระหว่างสองวันที่
{{ (toDateTime($json.endDate) - toDateTime($json.startDate)) / (1000 * 60 * 60 * 24) }}
สมมติ $json.startDate = '2024-12-13' และ $json.endDate = '2024-12-20' คำนวณหาผลต่างเป็นจำนวนวันโดยหาร milliseconds ด้วย 86400000 (จำนวน milliseconds ในหนึ่งวัน)
n8n Formula:

={{ (toDateTime($json.endDate) - toDateTime($json.startDate)) / (1000 * 60 * 60 * 24) }}

Result:

7 (จำนวนวัน)

ตัวอย่างที่ 4: ใช้ toDateTime กับ format() เพื่อจัดรูปแบบวันที่
{{ toDateTime('2024-12-20').format('YYYY-MM-DD HH:mm:ss') }}
รวม toDateTime() กับ format() เพื่อแปลงเป็น Date object ก่อน แล้วจึงจัดรูปแบบให้ตามต้องการ เจ๋งตรงนี้เลยครับ ที่ว่าเราสามารถรวมกับ method อื่นได้
n8n Formula:

={{ toDateTime('2024-12-20').format('YYYY-MM-DD HH:mm:ss') }}

Result:

2024-12-20 00:00:00

FAQs

toDateTime() รองรับรูปแบบวันที่ใดบ้าง?

รองรับ ISO 8601 (แนะนำเลย ✨) เช่น ‘2024-12-20’, ‘T’ format ‘2024-12-20T10:30:00Z’, Unix timestamp (milliseconds), และรูปแบบอื่นที่ JavaScript Date constructor ยอมรับ ถ้ารูปแบบไม่เข้าใจ toDateTime() อาจคืนค่า Invalid Date

toDateTime() จัดการเรื่องไทม์โซน (timezone) ได้หรือไม่?

toDateTime() แปลงเป็น Date object ตามไทม์โซนของระบบ (local timezone) ถ้าต้องการจัดการ UTC หรือ timezone อื่น ต้องใช้เมธอดเพิ่มเติมเช่น .toISOString() หรือ .toUTCString() ส่วนตัวผมแนะนำให้ใช้ format() ร่วมกับ timezone option

ถ้า toDateTime() ได้ค่า Invalid Date ต้องทำอย่างไร?

ตรวจสอบรูปแบบของข้อมูลเข้าก่อน ลองใช้ isNaN() หรือ .toString() เพื่อเช็ค Invalid Date ได้ อีกวิธีหนึ่งคือ try-catch ตอนทำการแปลง แต่เกือบทั้งหมดเจอปัญหาเพราะรูปแบบวันที่ไม่ตรงกัน

เมื่อไหร่ควรใช้ toDateTime()?

ใช้เมื่อต้องการแปลงข้อมูลวันที่จาก string หรือ timestamp เป็น Date object เพื่อการคำนวณ (หาส่วนต่าง) เปรียบเทียบวันที่ (A > B) หรือจัดรูปแบบวันที่ (format) ส่วนตัวผมใช้ toDateTime() แทบทุกครั้งที่ต้องการทำอะไรกับข้อมูลวันที่

Resources & Related

Additional Notes

toDateTime() เป็น JavaScript built-in function ที่ใช้ได้ใน n8n expressions สำหรับแปลงสตริงวันที่ ตัวเลข หรือค่าอื่นๆ เป็น Date object เพื่อให้สามารถคำนวณและเปรียบเทียบวันที่ได้อย่างแม่นยำ

ที่เจ๋งคือ toDateTime() รองรับรูปแบบวันที่หลายแบบพอสมควร ตั้งแต่ ISO 8601 (เลิศยิ่งนัก) ไปจนถึง Unix timestamp ต่างก็ทำได้ครับ ยิ่งไปกว่านั้น ถ้าใส่ค่าที่เป็น timestamp (milliseconds) ลงไป มันก็แปลงได้เลย

ส่วนตัวผมใช้ toDateTime() บ่อยมากตอนต้องการคำนวณส่วนต่างระหว่างสองวันที่ หรือเช็คว่าวันไหนมาก่อนวันไหน เพราะมันให้ผลลัพธ์ที่ถูกต้องเสมอ 😎

Leave a Reply

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