---
title: toDateTime – แปลงข้อมูลเป็นวัตถุวันที่และเวลา
url: https://www.thepexcel.com/functions/n8n/type-functions/to-date-time-n8n/
type: function-explainer
program: n8n
syntax: toDateTime(value)
date: 2025-12-16
updated: 2025-12-20
scores:
  popularity: 8
  difficulty: 3
  usefulness: 8
---

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

> toDateTime() แปลงสตริง ตัวเลข หรือค่าต่างๆ เป็นอ็อบเจ็กต์ Date ของ JavaScript ทำให้สามารถคำนวณเวลา เ

## คำอธิบาย

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

## Syntax

```excel
toDateTime(value)
```

**Variant**

```excel
new Date(value)
```

วิธีทางเลือก สร้าง Date object จากค่า

## Arguments

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

## เคสการใช้งาน

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

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

_เหมาะกับ:_ data-conversion

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

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

_เหมาะกับ:_ time-calculation

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: แปลงสตริง ISO format เป็น Date

```excel
{{ toDateTime('2024-12-20') }}
```

**ผลลัพธ์:** `Fri Dec 20 2024 00:00:00 GMT+0000`

แปลงสตริง ISO '2024-12-20' เป็น Date object ที่สามารถใช้ได้ในการคำนวณ ดูแลว่าผลลัพธ์เป็น Date object จริงๆ ไม่ใช่แค่ string

### 2. ตัวอย่างที่ 2: แปลง Unix timestamp (milliseconds) เป็น Date

```excel
{{ toDateTime(1734700800000) }}
```

**ผลลัพธ์:** `Fri Dec 20 2024 00:00:00 GMT+0000`

แปลง timestamp milliseconds เป็น Date object ส่วนตัวผมใช้ timestamp มากเพราะมันสะดวกในการทำงานกับ API ที่ส่ง timestamp มา

### 3. ตัวอย่างที่ 3: คำนวณระยะเวลาระหว่างสองวันที่

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

**ผลลัพธ์:** `7 (จำนวนวัน)`

สมมติ $json.startDate = '2024-12-13' และ $json.endDate = '2024-12-20' คำนวณหาผลต่างเป็นจำนวนวันโดยหาร milliseconds ด้วย 86400000 (จำนวน milliseconds ในหนึ่งวัน)

### 4. ตัวอย่างที่ 4: ใช้ toDateTime กับ format() เพื่อจัดรูปแบบวันที่

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

**ผลลัพธ์:** `2024-12-20 00:00:00`

รวม toDateTime() กับ format() เพื่อแปลงเป็น Date object ก่อน แล้วจึงจัดรูปแบบให้ตามต้องการ เจ๋งตรงนี้เลยครับ ที่ว่าเราสามารถรวมกับ method อื่นได้

## หมายเหตุเพิ่มเติม

- ⚠️ toDateTime() เป็น JavaScript built-in method ไม่ใช่ n8n-specific function คืนค่า Date object ที่ใช้ได้กับการคำนวณ เปรียบเทียบ และจัดรูปแบบต่อไป

- ISO 8601 format ('YYYY-MM-DD' หรือ 'YYYY-MM-DDTHH:mm:ss') เป็นรูปแบบที่ toDateTime() ทำงานได้ดีที่สุด

- ใช้ .format() ร่วมกับ toDateTime() เพื่อจัดรูปแบบวันที่ให้อ่านง่าย เมื่อต้องแสดงผลให้ผู้ใช้เห็น

- เมื่อคำนวณส่วนต่างระหว่างสองวันที่ ผลลัพธ์จะเป็น milliseconds ต้องหารด้วย 86400000 เพื่อได้จำนวนวัน

## คำถามที่พบบ่อย

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

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

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

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

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

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

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- [.format() – จัดรูปแบบค่าเป็นสตริงตามรูปแบบที่กำหนด](https://www.thepexcel.com/functions/n8n/math-functions/format-n8n/)
- [$today – อ็อบเจ็กต์ Luxon สำหรับวันที่ปัจจุบัน (เที่ยงคืน)](https://www.thepexcel.com/functions/n8n/other/today-n8n/)
- [$now – อ็อบเจ็กต์ Luxon สำหรับวันที่และเวลาปัจจุบัน](https://www.thepexcel.com/functions/n8n/other/now-n8n/)
- subtract-n8n
- add-n8n

## แหล่งข้อมูลเพิ่มเติม

- [n8n Expressions Documentation](https://docs.n8n.io/code/expressions/) _(article)_
- [MDN: Date Object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) _(article)_
- [n8n Built-in Date Functions](https://docs.n8n.io/code/builtin/overview/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/n8n/type-functions/to-date-time-n8n/](https://www.thepexcel.com/functions/n8n/type-functions/to-date-time-n8n/)_
