Normalize Date
normalize_date · dates · date, text
2026-09-23
กำลังประมวลผล…
normalize_date · dates · date, text
2026-09-23
วันที่ 01/02/2026 อาจหมายถึง 1 กุมภาพันธ์หรือ 2 มกราคม Pipeline จะไม่ยอมให้ใช้ auto เมื่อพบค่ากำกวม คุณต้องเลือก inputFormat แล้วตรวจตัวอย่างก่อนเพิ่มขั้นตอน ผลลัพธ์เริ่มต้นเป็น YYYY-MM-DD
ไม่ใช้การเดาจาก new Date(string) โค้ดตัวอย่างสาธิต DD/MM/YYYY แบบ ค.ศ. และเก็บค่าที่ผิดไว้ เช่น 31/02/2026 ไม่ถูกเลื่อนไปเดือนมีนาคม
| Parameter | Type | Default |
|---|---|---|
columns | string[] | — |
inputFormat | auto | YYYY-MM-DD | YYYY/MM/DD | DD/MM/YYYY | MM/DD/YYYY | DD-MM-YYYY | MM-DD-YYYY | DD/MM/YY | MM/DD/YY | MMM D YYYY | D MMM YYYY | YYYY-MM-DDTHH:mm:ss | "auto" |
outputFormat | YYYY-MM-DD | YYYY/MM/DD | DD/MM/YYYY | MM/DD/YYYY | DD-MM-YYYY | MM-DD-YYYY | DD/MM/YY | MM/DD/YY | MMM D YYYY | D MMM YYYY | YYYY-MM-DDTHH:mm:ss | "YYYY-MM-DD" |
buddhistEra | boolean | false |
onError | null | keep | "keep" |
import json
from datetime import datetime
def normalize(value):
if not isinstance(value, str):
return value
try:
return datetime.strptime(value, '%d/%m/%Y').strftime('%Y-%m-%d')
except ValueError:
return value
values = ['01/02/2026', '31/02/2026', None]
result = [normalize(value) for value in values]
assert result == ['2026-02-01', '31/02/2026', None]
print(json.dumps(result, ensure_ascii=False))
วันที่สมัคร 15/09/2569 มาจากระบบไทย ยืนยัน inputFormat เป็น DD/MM/YYYY และเปิด buddhistEra แล้วตรวจผลเป็น 2026-09-15 ก่อนเพิ่ม Pipeline หากไฟล์มีทั้ง พ.ศ. และ ค.ศ. ต้องตรวจตัวอย่างหลายค่าและคำเตือนก่อน Export
Trim Whitespace จัดช่องว่างรอบวันที่ Detect Null Like จัดค่าที่ใช้แทน missing ก่อน ส่วน Convert Type ใช้กำหนดชนิดข้อมูลเมื่อรูปแบบวันที่พร้อมแล้ว