สตริงรูปแบบวันที่และเวลามาตรฐาน
สตริงรูปแบบวันที่และเวลามาตรฐานใช้อักขระเดี่ยวเป็นตัวระบุรูปแบบเพื่อกําหนดการแสดงข้อความของค่าเวลาและวันที่ สตริงรูปแบบวันที่และเวลาที่มีอักขระมากกว่าหนึ่งตัว รวมถึงช่องว่างจะถูกตีความว่าเป็น สตริงรูปแบบวันที่และเวลาแบบกําหนดเอง สตริงรูปแบบมาตรฐานหรือแบบกําหนดเองสามารถใช้เพื่อกําหนดข้อความที่แสดงผลลัพธ์จากการดําเนินการจัดรูปแบบ
ตารางของตัวระบุรูปแบบ
ตารางต่อไปนี้อธิบายตัวระบุรูปแบบวันที่และเวลามาตรฐาน
ตัวระบุรูปแบบ | คำอธิบาย | ตัวอย่าง |
---|---|---|
"d" | รูปแบบวันที่แบบสั้น ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบสั้น ("d") |
2009-06-15T13:45:30 -> 6/15/2009 (en-US) 2009-06-15T13:45:30 -> 15/06/2009 (fr-FR) 2009-06-15T13:45:30 -> 2009/06/15 (ja-JP) |
"D" | รูปแบบวันที่แบบยาว ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบยาว ("D") |
2009-06-15T13:45:30 -> วันจันทร์ที่ 15 มิถุนายน 2009 (en-US) 2009-06-15T13:45:30 -> понедельник, 15 июня 2009 г (ru-RU) 2009-06-15T13:45:30 -> Montag, 15. Juni 2009 (de-DE) |
"f" | รูปแบบวันที่/เวลาแบบเต็ม (เวลาแบบสั้น) ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบย่อ ("f") แบบเต็ม |
2009-06-15T13:45:30 -> วันจันทร์ที่ 15 มิถุนายน 2009 1:45 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45 μ (el-GR) |
"F" | รูปแบบวันที่/เวลาแบบเต็ม (เวลาแบบยาว) ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบยาว ("F") แบบเต็ม |
2009-06-15T13:45:30 -> วันจันทร์ที่ 15 มิถุนายน 2009 เวลา 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> den 15 juni 2009 13:45:30 (sv-SE) 2009-06-15T13:45:30 -> Δευτέρα, 15 Ιουνίου 2009 1:45:30 μ (el-GR) |
"g" | รูปแบบวันที่/เวลาทั่วไป (เวลาแบบสั้น) ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบสั้น ("g") ทั่วไป |
2009-06-15T13:45:30 -> 6/15/2009 13:45 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45 (zh-CN) |
"G" | รูปแบบวันที่/เวลาทั่วไป (เวลาแบบยาว) ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบวันที่แบบยาว ("G") ทั่วไป |
2009-06-15T13:45:30 -> 6/15/2009 13:45:30 PM (en-US) 2009-06-15T13:45:30 -> 15/06/2009 13:45:30 (es-ES) 2009-06-15T13:45:30 -> 2009/6/15 13:45:30 (zh-CN) |
"M", "m" | รูปแบบเดือน/วัน ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบเดือน ("M", "m") |
2009-06-15T13:45:30 -> 15 มิถุนายน (en-US) 2009-06-15T13:45:30 -> 15. juni (da-DK) 2009-06-15T13:45:30 -> 15 Juni (id-ID) |
"O", "o" | รูปแบบวันที่/เวลาไปกลับ ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบไปกลับ ("O", "o") |
2009-06-15T13:45:30 (ท้องถิ่น) --> 2009-06-15T13:45:30.000000-07:00 2009-06-15T13:45:30 (Utc) --> 2009-06-15T13:45:30.0000000+00:00 2009-06-15T13:45:30 (ไม่ระบุ) --> 2009-06-15T13:45:30.000000 |
"R", "r" | รูปแบบ RFC1123 ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบ RFC1123 ("R", "r") |
2009-06-15T13:45:30 -> จ. 15 มิ.ย. 2009 13:45:30 GMT |
"s" | รูปแบบวันที่/เวลาที่สามารถเรียงลําดับได้ ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบที่สามารถเรียงลําดับได้ ("s") |
2009-06-15T13:45:30 (ท้องถิ่น) -> 2009-06-15T13:45:30 2009-06-15T13:45:30 (Utc) -> 2009-06-15T13:45:30 |
"t" | รูปแบบเวลาแบบสั้น ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบเวลาสั้น ("t") |
2009-06-15T13:45:30 -> 13:45 PM (en-US) 2009-06-15T13:45:30 -> 13:45 (ชม.) 2009-06-15T13:45:30 -> 01:45 م (ar-EG) |
"T" | รูปแบบเวลาแบบยาว ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบแบบยาว ("T") |
2009-06-15T13:45:30 -> 1:45:30 PM (en-US) 2009-06-15T13:45:30 -> 13:45:30 (ชม.) 2009-06-15T13:45:30 -> 01:45:30 م (ar-EG) |
"u" | รูปแบบวันที่/เวลาที่สามารถเรียงลําดับได้ทั่วไป ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบสากลที่สามารถเรียงลําดับได้ ("u") |
2009-06-15T13:45:30 -> 2009-06-15 13:45:30Z |
"Y", "y" | รูปแบบเดือนปี ข้อมูลเพิ่มเติม: ตัวระบุรูปแบบเดือนปี ("Y") |
2009-06-15T13:45:30 -> มิถุนายน 2009 (en-US) 2009-06-15T13:45:30 -> juni 2009 (da-DK) 2009-06-15T13:45:30 -> Juni 2009 (id-ID) |
อักขระเดี่ยวอื่นๆ | ตัวระบุที่ไม่รู้จัก | แสดงข้อผิดพลาดของนิพจน์เวลาทํางาน |
วิธีการทํางานของสตริงรูปแบบมาตรฐาน
ในการดําเนินการจัดรูปแบบ สตริงรูปแบบมาตรฐานเป็นเพียงนามแฝงสําหรับสตริงรูปแบบแบบกําหนดเอง ประโยชน์ของการใช้นามแฝงในการอ้างถึงสตริงรูปแบบแบบกําหนดเองคือ แม้ว่านามแฝงยังคงไม่แปรเปลี่ยน แต่สตริงรูปแบบแบบกําหนดเองอาจแตกต่างกันได้ นี่เป็นสิ่งสําคัญเนื่องจากการแสดงสตริงของค่าวันที่และเวลาโดยทั่วไปจะแตกต่างกันไปตามวัฒนธรรม ตัวอย่างเช่น สตริงรูปแบบมาตรฐาน "d" ระบุว่าจะแสดงค่าวันที่และเวลาโดยใช้รูปแบบวันที่แบบสั้น สําหรับวัฒนธรรมที่ไม่แปรผัน รูปแบบนี้คือ "ดด/วว/ปปปปป" สําหรับวัฒนธรรม fr-FR มันคือ "dd/MM/yyyy" สําหรับวัฒนธรรม ja-JP มันเป็น "yyyy/MM/dd"
ถ้าสตริงรูปแบบมาตรฐานในแผนที่การดําเนินการจัดรูปแบบไปยังสตริงรูปแบบที่กําหนดเองของวัฒนธรรมที่เฉพาะเจาะจง แอปพลิเคชันของคุณสามารถกําหนดวัฒนธรรมเฉพาะที่มีการใช้สตริงรูปแบบแบบกําหนดเองในหนึ่งในวิธีเหล่านี้:
คุณสามารถใช้วัฒนธรรมค่าเริ่มต้น (หรือปัจจุบัน) ได้ ตัวอย่างต่อไปนี้แสดงวันที่โดยใช้รูปแบบวันที่แบบสั้นของวัฒนธรรมปัจจุบัน ในกรณีนี้ วัฒนธรรมปัจจุบันคือ en-US
let Source = { Date.ToText(#date(2024, 3, 15), [Format = "d"]) //Displays 3/15/2024 } in Source
คุณสามารถส่งผ่านวัฒนธรรมที่ใช้ในการจัดรูปแบบวันที่ตามกฎของวัฒนธรรมเฉพาะนั้น ตัวอย่างต่อไปนี้แสดงวันที่โดยใช้รูปแบบวันที่แบบสั้นของวัฒนธรรม pt-BR
let Source = { Date.ToText(#date(2024, 3, 15), [Format = "d", Culture = "pt-BR"]) //Displays 15/03/2024 } in Source
ในบางกรณี สตริงรูปแบบมาตรฐานทําหน้าที่เป็นตัวย่อที่สะดวกสําหรับสตริงรูปแบบแบบกําหนดเองที่ยาวกว่าที่ไม่แปรเปลี่ยน สตริงรูปแบบมาตรฐานสี่สตริงจะอยู่ในหมวดหมู่นี้: "O" (หรือ "o"), "R" (หรือ "r"), "s" และ "u" สตริงเหล่านี้สอดคล้องกับสตริงรูปแบบแบบกําหนดเองที่กําหนดโดยวัฒนธรรมที่ไม่แปรเปลี่ยน พวกเขาสร้างการแทนค่าวันที่และเวลาของสตริงที่มีวัตถุประสงค์ที่จะเหมือนกันในวัฒนธรรมต่าง ๆ ตารางต่อไปนี้แสดงข้อมูลเกี่ยวกับสตริงรูปแบบวันที่และเวลามาตรฐานสี่รายการเหล่านี้
สตริงรูปแบบมาตรฐาน | กําหนดโดย | สตริงรูปแบบแบบกําหนดเอง |
---|---|---|
"O" หรือ "o" | None | yyyy'-'MM'-'dd'T'HH':'mm':'ss'' fffffffK |
"R" หรือ "r" | ข้อมูลจําเพาะ IETF RFC 1123 | ddd, dd MMM yyyy HH':'mm'mm'ss 'GMT' |
"s" | ISO 8601 | yyyy'-'MM'-'dd'T'HH':'mm'ss |
"u" | สามารถเรียงลําดับได้เนื่องจากใช้เลขศูนย์นําหน้าสําหรับปี เดือน วัน ชั่วโมง นาที และวินาที | yyyy'-'MM'-'dd HH':'mm':'ss'Z' |
สตริงรูปแบบมาตรฐานยังสามารถใช้ในการแยกวิเคราะห์การดําเนินการ ซึ่งจําเป็นต้องใช้สตริงอินพุตเพื่อให้สอดคล้องกับรูปแบบเฉพาะสําหรับการดําเนินการแยกวิเคราะห์เพื่อให้ประสบความสําเร็จ สตริงรูปแบบมาตรฐานจํานวนมากแมปไปยังสตริงรูปแบบแบบกําหนดเองหลายสตริง ดังนั้นค่าวันที่และเวลาสามารถแสดงในรูปแบบที่หลากหลายและการดําเนินการแยกวิเคราะห์ยังคงประสบความสําเร็จ
ส่วนต่อไปนี้อธิบายตัวระบุรูปแบบมาตรฐานสําหรับค่าวันที่, วันที่เวลา, โซนวันที่เวลา และเวลา
รูปแบบวันที่
กลุ่มนี้ประกอบด้วยรูปแบบต่อไปนี้:
ตัวระบุรูปแบบวันที่แบบสั้น ("d")
ตัวระบุรูปแบบมาตรฐาน "d" แสดงรูปแบบวันที่แบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น ข้อความรูปแบบแบบกําหนดเองที่ส่งกลับโดยวัฒนธรรมที่ไม่แปรเปลี่ยนคือ "MM/dd/yyyy"
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "d" เพื่อแสดงค่าวันที่
let
Source =
{
Date.ToText(#date(2024, 4, 10), [Format = "d", Culture = ""]),
// Displays 04/10/2024
Date.ToText(#date(2024, 4, 10), [Format = "d", Culture = "en-US"]),
// Displays 4/10/2024
Date.ToText(#date(2024, 4, 10), [Format = "d", Culture = "en-NZ"]),
// Displays 10/4/2024
Date.ToText(#date(2024, 4, 10), [Format = "d", Culture = "de-DE"])
// Displays 10.4.2024
}
in
Source
ตัวระบุรูปแบบวันที่แบบยาว ("D")
ตัวระบุรูปแบบมาตรฐาน "D" แสดงถึงรูปแบบวันที่แบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรปรวนคือ "dddd, dd MMMM yyyy"
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "D" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
Date.ToText(#date(2024, 4, 10), [Format = "D", Culture = ""]),
// Displays Wednesday, 10 April, 2024
Date.ToText(#date(2024, 4, 10), [Format = "D", Culture = "en-US"]),
// Displays Wednesday, April 10, 2024
Date.ToText(#date(2024, 4, 10), [Format = "D", Culture = "pt-BR"]),
// Displays quarta-feira, 10 de abril de 2024
Date.ToText(#date(2024, 4, 10), [Format = "D", Culture = "es-MX"])
// Displays miércoles, 10 de abril de 2024
}
in
Source
รูปแบบวันที่และเวลา
กลุ่มนี้ประกอบด้วยรูปแบบต่อไปนี้:
- ตัวระบุรูปแบบวันที่แบบสั้นแบบเต็ม ("f")
- ตัวระบุรูปแบบวันที่แบบยาวแบบเต็ม ("F")
- ตัวระบุรูปแบบวันที่แบบสั้น ("g") ทั่วไป
- ตัวระบุรูปแบบวันที่แบบยาว ("G") ทั่วไป
- ตัวระบุรูปแบบไปกลับ ("O", "o")
- ตัวระบุรูปแบบ RFC1123 ("R", "r")
- ตัวระบุรูปแบบที่สามารถเรียงลําดับได้ ("s")
- ตัวระบุรูปแบบสากลที่สามารถเรียงลําดับได้ ("u")
ตัวระบุรูปแบบวันที่แบบสั้นแบบเต็ม ("f")
ตัวระบุรูปแบบมาตรฐาน "f" แสดงการรวมกันของรูปแบบวันที่แบบยาว ("D") และเวลาสั้น ("t") ซึ่งคั่นด้วยช่องว่าง
สตริงผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "f" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "f", Culture = "en-US"]),
// Displays Wednesday, April 10, 2024 6:30 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "f", Culture = "fr-FR"])
// Displays mercredi 10 avril 2024 06:30
}
in
Source
ตัวระบุรูปแบบวันที่แบบยาวแบบเต็ม ("F")
ตัวระบุรูปแบบมาตรฐาน "F" แสดงถึงรูปแบบวันที่และเวลาแบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรปรวนคือ "dddd, dd MMMM yyyy HH:mm:ss"
สตริงผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "F" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "F", Culture = ""]),
// Displays Wednesday, 10 April, 2024 06:30:00
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "F", Culture = "en-US"]),
// Displays Wednesday, April 10, 2024 6:30:00 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "F", Culture = "fr-FR"])
// Displays mercredi 10 avril 2024 06:30:00
}
in
Source
ตัวระบุรูปแบบวันที่แบบสั้น ("g") ทั่วไป
ตัวระบุรูปแบบมาตรฐาน "g" แสดงการรวมกันของรูปแบบวันที่สั้น ("d") และเวลาสั้น ("t") ที่คั่นด้วยช่องว่าง ข้อความที่เป็นผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
สตริงผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "g" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "g", Culture = ""]),
// Displays 04/10/2024 06:30
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "g", Culture = "en-US"]),
// Displays 4/10/2024 6:30 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "g", Culture = "fr-BE"])
// Displays 10-04-24 06:30
}
in
Source
ตัวระบุรูปแบบวันที่แบบยาว ("G") ทั่วไป
ตัวระบุรูปแบบมาตรฐาน "G" แสดงการรวมกันของรูปแบบวันที่สั้น ("d") และเวลาที่ยาว ("T") ซึ่งคั่นด้วยช่องว่าง ข้อความที่เป็นผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
สตริงผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "G" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "G", Culture = ""]),
// Displays 04/10/2024 06:30:00
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "G", Culture = "en-US"]),
// Displays 4/10/2024 6:30:00 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "G", Culture = "nl-BE"])
// Displays 10/04/2024 6:30:00
}
in
Source
ตัวระบุรูปแบบไปกลับ ("O", "o")
ตัวระบุรูปแบบมาตรฐาน "O" หรือ "o" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองโดยใช้รูปแบบที่รักษาข้อมูลโซนเวลาและปล่อยสตริงผลลัพธ์ที่สอดคล้องกับ ISO 8601 สําหรับ ค่า DateTimeZone ตัวระบุรูปแบบนี้ออกแบบมาเพื่อเก็บรักษาค่าวันที่ เวลา และโซนเวลาในข้อความ
ตัวระบุรูปแบบมาตรฐาน "O" หรือ "o" สอดคล้องกับ "yyyy'-'MM'-'dd'T'HH':'mm'ss'' สตริงรูปแบบแบบกําหนดเอง fffffxxx" สําหรับค่า DateTimeZone ในข้อความนี้ คู่ของเครื่องหมายอัญกรณ์เดี่ยวที่คั่นอักขระแต่ละตัว เช่น เครื่องหมายยัติภังค์ เครื่องหมายทวิภาค และตัวอักษร "T" ระบุว่าอักขระแต่ละตัวเป็นสัญพจน์ที่ไม่สามารถเปลี่ยนแปลงได้ เครื่องหมายอัญประกาศประกาศไม่ปรากฏในสตริงผลลัพธ์
ตัวระบุรูปแบบมาตรฐาน "O" หรือ "o" (และ "yyyy'-'MM'-'T'HH':'mm'ss'' รูปแบบที่กําหนดเอง fffffffxxx") ใช้ประโยชน์จากวิธีที่ ISO 8601 แสดงข้อมูลโซนเวลาเพื่อรักษาค่า DateTimeZone ของ
คอมโพเนนต์โซนเวลาของค่าวันที่และเวลา DateTimeZone.ToLocal คือออฟเซตจาก UTC (ตัวอย่างเช่น +01:00, -07:00)
คอมโพเนนต์โซนเวลาของค่าวันที่และเวลา DateTimeZone.ToUtc ใช้ +00.00 เพื่อแสดง UTC
เนื่องจากตัวระบุรูปแบบมาตรฐาน "O" หรือ "o" สอดคล้องกับมาตรฐานสากล การจัดรูปแบบหรือการดําเนินการแยกวิเคราะห์ที่ใช้ตัวระบุจะใช้วัฒนธรรมที่ไม่แปรผันและปฏิทินเกรกอเรียนเสมอ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "o" เพื่อแสดงชุดของ ค่า DateTimeZone บนระบบในโซนเวลาแปซิฟิกของสหรัฐอเมริกา
let
date1 = #datetimezone(2024, 6, 15, 13, 45, 30, 0, 0),
Source =
{
Text.Format("#{0} (Unspecified) --> #{1}", {date1, DateTimeZone.ToText(date1, [Format = "O"])}),
Text.Format("#{0} (Utc) --> #{1}", {date1, DateTimeZone.ToText(DateTimeZone.ToUtc(date1), [Format = "O"])}),
Text.Format("#{0} (Local) --> #{1}", {date1, DateTimeZone.ToText(DateTimeZone.ToLocal(date1), [Format = "O"])})
}
in
Source
// The example displays the following output:
// 6/15/2024 1:45:30 PM +00:00 (Unspecified) --> 2024-06-15T13:45:30.0000000+00:00
// 6/15/2024 1:45:30 PM +00:00 (Utc) --> 2024-06-15T13:45:30.0000000+00:00
// 6/15/2024 1:45:30 PM +00:00 (Local) --> 2024-06-15T08:45:30.0000000-07:00
หมายเหตุ
ค่าที่ส่งกลับโดย DateTimeZone.ToLocal ขึ้นอยู่กับว่าคุณกําลังใช้งาน Power Query บนเครื่องหรือออนไลน์ ตัวอย่างเช่น ในตัวอย่างข้างต้นบนระบบในโซนเวลาแปซิฟิกของสหรัฐอเมริกา Power Query Desktop จะส่งกลับ -07:00
ตาม เวลาท้องถิ่น เนื่องจากมีการอ่านเวลาที่กําหนดไว้บนเครื่องคอมพิวเตอร์ของคุณ อย่างไรก็ตาม Power Query Online จะ +00:00
ส่งกลับเนื่องจากกําลังอ่านเวลาที่กําหนดบนเครื่องเสมือนบนระบบคลาวด์ซึ่งถูกตั้งค่าเป็น UTC
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "o" เพื่อสร้างสตริงที่จัดรูปแบบและจากนั้นคืนค่าวันที่และเวลาเดิมโดยเรียกใช้รูทีนการแยกวิเคราะห์วันที่และเวลา
let
// Round-trip a local time
#"Origin Local Date" = DateTimeZone.ToLocal(
#datetimezone(2024, 4, 10, 6, 30, 0, 0, 0)
),
#"Local Date Text" = DateTimeZone.ToText(
#"Origin Local Date", [Format = "o"]
),
#"New Local Date" = DateTimeZone.FromText(#"Local Date Text"),
#"Local Round Trip" = Text.Format(
"Round-tripped #{0} Local to #{1} Local.",
{
DateTimeZone.ToText(#"Origin Local Date"),
DateTimeZone.ToText(#"New Local Date")
}
),
// Round-trip a UTC time
#"Origin UTC Date" = DateTimeZone.ToUtc(
#datetimezone(2024, 4, 12, 9, 30, 0, 0, 0)
),
#"UTC Date Text" = DateTimeZone.ToText(
#"Origin UTC Date", [Format = "o"]
),
#"New UTC Date" = DateTimeZone.FromText(#"UTC Date Text"),
#"UTC Round Trip" = Text.Format(
"Round-tripped #{0} UTC to #{1} UTC.",
{
DateTimeZone.ToText(#"Origin UTC Date"),
DateTimeZone.ToText(#"New UTC Date")
}
),
// Round-trip an 18 hour offset time
#"Origin Offset Date" = DateTimeZone.ToLocal(
#datetimezone(2024, 4, 10, 6, 30, 0, 0, 0) + #duration(0, 18, 0, 0)
),
#"Offset Date Text" = DateTimeZone.ToText(
#"Origin Offset Date", [Format = "o"]
),
#"New Offset Date" = DateTimeZone.FromText(#"Offset Date Text"),
#"Offset Round Trip" = Text.Format(
"Round-tripped #{0} to #{1}.",
{
DateTimeZone.ToText(#"Origin Offset Date"),
DateTimeZone.ToText(#"New Offset Date")
}
),
#"Round Trip Results" =
{#"Local Round Trip", #"UTC Round Trip", #"Offset Round Trip"}
in
#"Round Trip Results"
// The example displays the following output in Power Query Desktop:
// Round-tripped 4/9/2024 11:30:00 PM -07:00 Local to 4/9/2024 11:30:00 PM -07:00 Local.
// Round-tripped 4/12/2024 9:30:00 AM +00:00 UTC to 4/12/2024 9:30:00 AM +00:00 UTC.
// Round-tripped 4/10/2024 5:30:00 PM -07:00 to 4/10/2024 5:30:00 PM -07:00.
// The example displays the following output in Power Query Online:
// Round-tripped 4/10/2024 6:30:00 AM +00:00 Local to 4/10/2024 6:30:00 AM +00:00 Local.
// Round-tripped 4/12/2024 9:30:00 AM +00:00 UTC to 4/12/2024 9:30:00 AM +00:00 UTC.
// Round-tripped 4/11/2024 12:30:00 AM +00:00 to 4/11/2024 12:30:00 AM +00:00.
ตัวระบุรูปแบบ RFC1123 ("R", "r")
ตัวระบุรูปแบบมาตรฐาน "R" หรือ "r" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่ไม่ได้กําหนดโดยวัฒนธรรมเฉพาะ จะเหมือนกันเสมอ โดยไม่คํานึงถึงวัฒนธรรมที่ใช้หรือผู้ให้บริการรูปแบบที่ให้มา สตริงรูปแบบแบบกําหนดเองคือ "ddd, dd MMM yyyy HH':'mm'ss 'GMT'" เมื่อใช้ตัวระบุรูปแบบมาตรฐานนี้ การจัดรูปแบบหรือการแยกวิเคราะห์จะใช้วัฒนธรรมที่ไม่แปรผันเสมอ
แม้ว่ามาตรฐาน RFC 1123 จะแสดงเวลาเป็นเวลามาตรฐานสากล (UTC) การดําเนินการจัดรูปแบบไม่ได้ปรับเปลี่ยนค่าของวันที่และเวลาที่ถูกจัดรูปแบบ ดังนั้น คุณต้องแปลงค่า DateTime เป็น UTC โดยการเรียกวิธีการฟังก์ชัน DateTimeZone.ToUtc ก่อนที่คุณจะดําเนินการจัดรูปแบบ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "r" เพื่อแสดงค่าเวลาและวันที่บนระบบในโซนเวลาแปซิฟิกของสหรัฐอเมริกา (เจ็ดชั่วโมงหลัง UTC)
let
date1 = #datetimezone(2024, 4, 10, 6, 30, 0, -7, 0),
dateOffset = DateTimeZone.ToUtc(date1),
Source =
{
DateTimeZone.ToText(date1, [Format = "r"]),
// Displays Wed, 10 Apr 2024 13:30:00 GMT
DateTimeZone.ToText(dateOffset, [Format = "r"])
// Displays Wed, 10 Apr 2024 13:30:00 GMT
}
in
Source
ตัวระบุรูปแบบที่สามารถเรียงลําดับได้ ("s")
ตัวระบุรูปแบบมาตรฐาน "s" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่แสดงถึงมาตรฐานที่กําหนด (ISO 8601) และเป็นแบบอ่านอย่างเดียว ดังนั้น จะเหมือนกันเสมอ โดยไม่คํานึงถึงวัฒนธรรมที่ใช้หรือผู้ให้บริการรูปแบบที่ให้มา สตริงรูปแบบแบบกําหนดเองคือ "yyyy'-'MM'dd'T'HH':'mm'ss" วัตถุประสงค์ของตัวระบุรูปแบบ "s" คือเพื่อสร้างสตริงผลลัพธ์ที่เรียงลําดับอย่างต่อเนื่องในลําดับจากน้อยไปหามากหรือจากมากไปหาน้อยโดยยึดตามค่าวันที่และเวลา
เมื่อใช้ตัวระบุรูปแบบมาตรฐานนี้ การจัดรูปแบบหรือการแยกวิเคราะห์จะใช้วัฒนธรรมที่ไม่แปรผันเสมอ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "s" เพื่อแสดงค่าวันที่และเวลาบนระบบในโซนเวลาแปซิฟิกของสหรัฐอเมริกา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "s", Culture = "en-US"])
// Displays 2024-04-10T06:30:00
}
in
Source
ตัวระบุรูปแบบสากลที่สามารถเรียงลําดับได้ ("u")
ตัวระบุรูปแบบมาตรฐาน "u" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่เหมือนกันเสมอ โดยไม่คํานึงถึงวัฒนธรรมที่ใช้หรือผู้ให้บริการรูปแบบที่ให้มา สตริงรูปแบบแบบกําหนดเองคือ "yyyy'-'MM'dd HH':'mm'ss'Z'" รูปแบบสะท้อนถึงมาตรฐานที่กําหนดไว้ และคุณสมบัติเป็นแบบอ่านอย่างเดียว เมื่อใช้ตัวระบุรูปแบบมาตรฐานนี้ การจัดรูปแบบหรือการแยกวิเคราะห์จะใช้วัฒนธรรมที่ไม่แปรผันเสมอ
แม้ว่าสตริงผลลัพธ์ควรแสดงเวลาเป็นเวลามาตรฐานสากล (UTC) แต่ไม่มีการแปลงค่า DateTimeZone เดิมในระหว่างการดําเนินการจัดรูปแบบ ดังนั้น คุณต้องแปลง ค่า DateTimeZone เป็น UTC โดยการเรียกฟังก์ชัน DateTimeZone.ToUtc ก่อนที่จะจัดรูปแบบ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "u" เพื่อแสดงค่าวันที่และเวลา
let
date1 = #datetimezone(2024, 4, 10, 6, 30, 0, -7, 0),
dateOffset = DateTimeZone.ToUtc(date1),
Source =
{
DateTimeZone.ToText(dateOffset, [Format = "u"]),
// Displays 2024-04-10 13:30:00Z
}
in
Source
รูปแบบเวลา
กลุ่มนี้ประกอบด้วยรูปแบบต่อไปนี้:
ตัวระบุรูปแบบเวลาสั้น ("t")
ตัวระบุรูปแบบมาตรฐาน "t" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่กําหนดโดยวัฒนธรรมที่ระบุ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรเปลี่ยนคือ "HH:mm"
สตริงผลลัพธ์ได้รับผลกระทบจากข้อมูลการจัดรูปแบบของวัฒนธรรมเฉพาะ
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "t" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "t", Culture = ""]),
// Displays 06:30
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "t", Culture = "en-US"]),
// Displays 6:30 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "t", Culture = "es-ES"])
// Displays 6:30
}
in
Source
ตัวระบุรูปแบบเวลานาน ("T")
ตัวระบุรูปแบบมาตรฐาน "T" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรเปลี่ยนคือ "HH:mm:ss"
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "T" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "T", Culture = ""]),
// Displays 06:30:00
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "T", Culture = "en-US"]),
// Displays 6:30:00 AM
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "T", Culture = "es-ES"])
// Displays 6:30:00
}
in
Source
รูปแบบวันที่บางส่วน
กลุ่มนี้ประกอบด้วยรูปแบบต่อไปนี้:
ตัวระบุรูปแบบเดือน ("M", "m")
ตัวระบุรูปแบบมาตรฐาน "M" หรือ "m" แสดงสตริงรูปแบบวันที่และเวลาแบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรเปลี่ยนคือ "MMMM dd"
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "m" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "m", Culture = ""]),
// Displays April 10
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "m", Culture = "en-US"]),
// Displays April 10
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "m", Culture = "ms-MY"])
// Displays 10 April
}
in
Source
ตัวระบุรูปแบบเดือนปี ("Y", "y")
ตัวระบุรูปแบบมาตรฐาน "Y" หรือ "y" แสดงสตริงรูปแบบวันที่แบบกําหนดเองที่กําหนดโดยวัฒนธรรมเฉพาะ ตัวอย่างเช่น สตริงรูปแบบแบบกําหนดเองสําหรับวัฒนธรรมที่ไม่แปรปรวนคือ "yyyy MMMM"
ตัวอย่างต่อไปนี้ใช้ตัวระบุรูปแบบ "y" เพื่อแสดงค่าวันที่และเวลา
let
Source =
{
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "Y", Culture = ""]),
// Displays 2024 April
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "Y", Culture = "en-US"]),
// Displays April 2024
DateTime.ToText(#datetime(2024, 4, 10, 6, 30, 0), [Format = "y", Culture = "af-ZA"])
// Displays April 2024
}
in
Source