---
title: DateTime.From – แปลงค่าเป็น DateTime
url: https://www.thepexcel.com/functions/power-query/datetime-functions/datetime-from/
type: function-explainer
program: Power Query
syntax: "DateTime.From(value as any, optional culture as nullable text) as nullable datetime"
date: 2025-12-03
updated: 2025-12-23
scores:
  popularity: 7
  difficulty: 3
  usefulness: 7
---

# DateTime.From – แปลงค่าเป็น DateTime

> DateTime.From แปลงค่าต่างๆ (Text, Date, Time, Number) ให้เป็นข้อมูลชนิด DateTime ด้วยการระบุค่าและรห

## คำอธิบาย

DateTime.From แปลงค่าต่างๆ (Text, Date, Time, Number) ให้เป็นข้อมูลชนิด DateTime ด้วยการระบุค่าและรหัสภาษาทำให้สะดวกในการจัดการข้อมูลวันเวลาจากแหล่งต่างๆ

## Syntax

```excel
DateTime.From(value as any, optional culture as nullable text) as nullable datetime
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| value | Yes | any |  | ค่าที่ต้องการแปลง สามารถเป็น Text ("2025-12-31 14:30"), Date, Time, Number (OLE Automation Date), หรือ DateTimeZone |
| culture | No | text | - | รหัสภาษา/เขตหนึ่งฯ (culture code) เช่น "en-US" (อังกฤษ-สหรัฐ), "th-TH" (ไทย), "de-DE" (เยอรมัน) ใช้ระบุรูปแบบวันเวลาที่คาดหวัง |

## ตัวอย่าง

### 1. แปลงจาก Text

```excel
DateTime.From("2025-12-31 14:30:00")
```

**ผลลัพธ์:** `#datetime(2025, 12, 31, 14, 30, 0)`

แปลงข้อความเป็น DateTime ตามรูปแบบ ISO 8601 (YYYY-MM-DD HH:MM:SS)

### 2. แปลงจาก Date

```excel
DateTime.From(#date(2025, 1, 1))
```

**ผลลัพธ์:** `#datetime(2025, 1, 1, 0, 0, 0)`

แปลงวันที่เป็น DateTime โดยเวลาจะตั้งค่าเป็น 00:00:00 (เที่ยงคืน)

### 3. แปลงจาก Time

```excel
DateTime.From(#time(6, 45, 12))
```

**ผลลัพธ์:** `#datetime(1899, 12, 30, 6, 45, 12)`

แปลงเวลาเป็น DateTime โดยใช้วันที่เริ่มต้นของ OLE Automation Date (30/12/1899)

### 4. แปลงจาก Number (OLE Automation Date)

```excel
DateTime.From(45291)
```

**ผลลัพธ์:** `#datetime(2024, 1, 1, 0, 0, 0)`

แปลงตัวเลข OLE Automation Date เป็น DateTime (45291 = 1/1/2024 00:00:00)

### 5. แปลงด้วย Culture Parameter

```excel
DateTime.From("31/12/2025 14:30", "th-TH")
```

**ผลลัพธ์:** `#datetime(2025, 12, 31, 14, 30, 0)`

แปลงข้อความตามรูปแบบไทย (DD/MM/YYYY HH:MM) โดยระบุ culture="th-TH"

### 6. ใช้ใน Power Query Transform

```excel
let
    Source = Table.FromRows({{"2025-12-31 14:30:00"}, {"2025-01-15 09:15:00"}}, {"DateText"}),
    Converted = Table.AddColumn(Source, "DateTime", each DateTime.From([DateText]))
in
    Converted
```

**ผลลัพธ์:** `ตารางมี 2 คอลัมน์: DateText (Text) และ DateTime (DateTime type)`

ใช้ DateTime.From กับ Table.AddColumn เพื่อแปลงคอลัมน์ทั้งหมด

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

- เมื่อจัดการข้อมูลจากแหล่งต่างๆ ให้ระบุ culture parameter เสมอเพื่อหลีกเลี่ยงข้อผิดพลาด

- ใช้ Table.TransformColumns เพื่อแปลงคอลัมน์ DateTime หลายคอลัมน์พร้อมกัน: Table.TransformColumns(Source, {{"DateColumn", DateTime.From}})

- ถ้าข้อมูลมี null ให้ใช้ ?? operator หรือ Table.ReplaceValue เพื่อจัดการค่า null ก่อนแปลง

- OLE Automation Date มีเลข 0 = 30 December 1899 ถ้าแปลง Number ที่เล็กจะได้วันที่เก่าๆ

- หลีกเลี่ยงการ hard code culture ในโปรเจกต์ที่ต้องใช้งานทั่วโลก ลองใช้ parameter หรือ configuration

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

**Q: DateTime.From แตกต่างจาก DateTime.FromText อย่างไร**

DateTime.FromText รับเฉพาะ Text input, DateTime.From รับ Text, Date, Time, Number, DateTimeZone ได้ทั้งหมด คือ DateTime.From ยืดหยุ่นมากกว่า

**Q: ถ้า input เป็น null ผลลัพธ์จะเป็นอะไร**

ผลลัพธ์จะเป็น null ด้วย ถ้าต้องการให้มีค่าเริ่มต้นให้ใช้ ?? operator เช่น DateTime.From([DateColumn]) ?? #datetime(1900, 1, 1, 0, 0, 0)

**Q: culture parameter ไม่ได้ระบุ Power Query จะใช้ culture ไหน**

Power Query จะใช้ culture ของเครื่องที่รันอยู่ (system locale) ถ้าต้องให้ทำงานสอบ ที่ทุกเครื่องเหมือนกันแนะนำให้ระบุ culture เสมอ

**Q: แปลง DateTimeZone เป็น DateTime ได้ไหม**

ได้ DateTime.From(#datetimezone(2025, 12, 31, 14, 30, 0, 7, 0)) จะแปลงเป็น DateTime เวลาท้องถิ่น (local time)

**Q: ถ้า input Text มีรูปแบบที่ DateTime.From ไม่รู้จักจะเป็นอะไร**

จะ error: "Expression.Error: Could not convert to DateTime" วิธีแก้ คือ ทำความสะอาด Text ก่อนแปลง เช่น ลบ spaces หรือแปลงรูปแบบ

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

- [Microsoft Learn - DateTime.From](https://learn.microsoft.com/en-us/powerquery-m/datetime-from) _(official)_
- [PowerQuery.how - DateTime Functions](https://powerquery.how/datetime-from/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/power-query/datetime-functions/datetime-from/](https://www.thepexcel.com/functions/power-query/datetime-functions/datetime-from/)_
