แชร์ผ่าน


ลักษณะการทำงานและรูปแบบของคอลัมน์วันที่และเวลา

ใน Microsoft Dataverse คุณสามารถระบุวิธีแสดงค่าวันที่และเวลาแก่ผู้ใช้ และวิธีปรับเปลี่ยนค่าตามโซนเวลา

มีสองตัวเลือกสำหรับคอลัมน์วันที่และเวลา

  • ลักษณะการทำงาน: ปรับค่าสำหรับโซนเวลาหรือไม่
  • รูปแบบ: แสดงส่วนเวลาของค่าหรือไม่

พฤติกรรม

Dataverse เก็บค่าวันที่และเวลาทั้งหมดในโซนเวลา UTC เมื่อแอปของคุณแสดงค่าหรือค่าที่ประมวลผลที่ผู้ใช้ป้อน Dataverse และแอปแบบจำลองสามารถปรับตามโซนเวลาของผู้ใช้ได้ด้วยตัวเลือก ลักษณะการทำงาน ต่อไปนี้

  • เวลาท้องถิ่นของผู้ใช้: ปรับเวลาสำหรับโซนเวลาของผู้ใช้ นี่คือลักษณะการทำงานเริ่มต้น คุณสามารถ เปลี่ยนลักษณะการทำงานนี้เป็นแบบอื่น ได้
  • ไม่ผูกกับโซนเวลา: ไม่มีการแปลงโซนเวลา
  • เฉพาะวันที่: ไม่มีการแปลงโซนเวลา ไม่เหมือน ไม่ผูกกับโซนเวลา ส่วนเวลาจะไม่ถูกจัดเก็บไว้

โซนเวลาของผู้ใช้ถูกตั้งค่าใน ตัวเลือกส่วนบุคคล ไม่ใช่โซนเวลาของระบบใน Windows, Android, iOS หรือ macOS อย่างไรก็ตาม โซนเวลาของระบบอาจส่งผลต่อสคริปต์ไคลเอ็นต์ที่ทำงานกับวันที่ของ JavaScript

รูปแบบ

คอลัมน์วันที่และเวลาทั้งหมดมีส่วนของเวลา เว้นแต่ลักษณะการทำงานจะเป็น เฉพาะวันที่ รูปแบบ: กำหนดว่าแสดงส่วนเวลาของค่าหรือไม่

  • วันที่และเวลา: แสดงวันที่และเวลาของค่า
  • เฉพาะวันที่: แสดงส่วนวันที่ของค่าเท่านั้น

หมายเหตุ

ผู้ใช้ยังคงสามารถเปลี่ยนส่วนเวลาได้หาก รูปแบบ เป็น เฉพาะวันที่ ตัวอย่างเช่น ด้วยการเรียก Web API หรือโดยใช้ตัวควบคุมที่มีส่วนของเวลา ซึ่งแตกต่างไปจาก ลักษณะการทำงาน เฉพาะวันที่ โดยส่วนของเวลาไม่ได้ถูกจัดเก็บไว้เลย

แนวทางการใช้งาน

ใช้ลักษณะการทำงาน ไม่ผูกกับโซนเวลา เมื่อข้อมูลโซนเวลาไม่จำเป็น เช่น เวลาในการเช็คอินของโรงแรม ด้วยการเลือกนี้ ผู้ใช้ในโซนเวลาทั้งหมดจะเห็นค่าวันที่และเวลาเหมือนกัน

ใช้ลักษณะการทำงาน เฉพาะวันที่ เมื่อข้อมูลเกี่ยวกับเวลาของวันและเขตเวลาไม่จำเป็น เช่น วันเกิด หรือวันครบรอบ ด้วยการเลือกนี้ ผู้ใช้ในโซนเวลาทั้งหมดจะเห็นค่าวันที่เหมือนกันทุกประการ

ลักษณะการทำงาน ไม่ผูกกับโซนเวลา ที่มีรูปแบบ เฉพาะวันที่ เกือบจะเหมือนกับลักษณะการทำงาน เฉพาะวันที่ ใช้อันแรกหากคุณไม่แน่ใจว่าคุณต้องการส่วนเวลาในอนาคตหรือไม่

ข้อสำคัญ

หลีกเลี่ยงรูปแบบ วันที่เท่านั้น ที่มีพฤติกรรม ภายในเครื่อง ของผู้ใช้ ผู้ใช้ในเขตเวลาที่ต่างกันอาจเห็นวันที่ที่แตกต่างกัน ซึ่งไม่ได้มีไว้สำหรับสถานการณ์ส่วนใหญ่ เมื่อผู้ใช้ตั้งค่าวันที่ในแอปที่เป็นแบบโมเดล ส่วนเวลาจะถูกตั้งค่าเป็นเที่ยงคืนของโซนเวลาโดยอัตโนมัติ ซึ่งอาจทำให้วันที่ปรากฏหนึ่งวันก่อนหน้าหรือหลังจากนั้นสำหรับผู้ใช้รายอื่น

ตัวอย่าง

แสดงค่า

Dataverse จัดเก็บ 2023-10-15T07:30:00Z (หรือ 2023-10-15 สำหรับลักษณะการทำงาน เฉพาะวันที่) ผู้ใช้ในโซนเวลา UTC-8 จะเห็นสิ่งเหล่านี้ในแอปแบบจำลองหรือด้วย คำขอ Web API สำหรับค่าที่จัดรูปแบบ:

พฤติกรรม รูปแบบ แสดงค่า
เวลาท้องถิ่นของผู้ใช้ วันที่และเวลา วันที่ 14 ตุลาคม 2023 เวลา 23:30 น
เวลาท้องถิ่นของผู้ใช้ เฉพาะวันที่ วันที่ 14 ตุลาคม 2023
ไม่ผูกกับโซนเวลา วันที่และเวลา วันที่ 15 ตุลาคม 2023 เวลา 07:30 น
ไม่ผูกกับโซนเวลา เฉพาะวันที่ วันที่ 15 ตุลาคม 2023
เฉพาะวันที่ - วันที่ 15 ตุลาคม 2023

ป้อนค่าในแอป

ผู้ใช้ในโซนเวลา UTC-8 ป้อน October 14th, 2023, 11:30 pm ในแอปแบบจำลอง ค่าจะถูกบันทึกใน Dataverse เป็น:

พฤติกรรม รูปแบบ ค่าที่บันทึกใน Dataverse
เวลาท้องถิ่นของผู้ใช้ วันที่และเวลา 2023-10-15T07:30:00Z
เวลาท้องถิ่นของผู้ใช้ เฉพาะวันที่ 2023-10-15T07:30:00Z
ไม่ผูกกับโซนเวลา วันที่และเวลา 2023-10-14T23:30:00Z
ไม่ผูกกับโซนเวลา เฉพาะวันที่ 2023-10-14T23:30:00Z
เฉพาะวันที่ - 2023-10-14

หากผู้ใช้ป้อนเพียงวันที่ October 14th, 2023 ส่วนเวลาจะถือว่าเป็น 00:00 น.

พฤติกรรม รูปแบบ ค่าที่บันทึกใน Dataverse
เวลาท้องถิ่นของผู้ใช้ เฉพาะวันที่ 2023-10-14T08:00:00Z
ไม่ผูกกับโซนเวลา เฉพาะวันที่ 2023-10-14T00:00:00Z
เฉพาะวันที่ - 2023-10-14

ป้อนค่าที่ไม่ถูกต้องในแอป

ไคลเอนต์ที่แตกต่างกันมีวิธีจัดการกับอินพุตที่ไม่ถูกต้องแตกต่างกัน ตัวอย่างเช่น ในโซนเวลาแปซิฟิก การปรับเวลาตามฤดูกาลเริ่มวันที่ 12 มีนาคม 2023 เวลา 02:00 น. โดยเลื่อนเวลาไปข้างหน้าหนึ่งชั่วโมงเป็น 03:00 น. ไม่มีเวลาระหว่าง 02:00 น. ถึง 03:00 น. ของวันนั้น เมื่อผู้ใช้พยายามป้อนค่าในช่วงเวลานั้น แอปอาจดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้:

  • เปลี่ยนเป็นเวลาที่ถูกต้องก่อนหน้าหรือถัดไป
  • เปลี่ยนกลับเป็นค่าที่ทราบล่าสุด
  • แสดงข้อความแสดงข้อผิดพลาด
  • ไม่แสดงเวลาระหว่าง 2:00 น. ถึง 3:00 น. ในตัวเลือกเวลา เพื่อให้ผู้ใช้ไม่สามารถเลือกได้ตั้งแต่แรก

ในทำนองเดียวกัน แต่ละไคลเอนต์จะมีวิธีจัดการกับช่วงเวลาที่ซ้ำกันแตกต่างกัน ตัวอย่างเช่น ในโซนเวลาแปซิฟิก การปรับเวลาตามฤดูกาลสิ้นสุดวันที่ 5 พฤศจิกายน 2023 เวลา 02:00 น. โดยเลื่อนเวลาถอยหลังหนึ่งชั่วโมงเป็น 01:00 น. เวลาระหว่าง 01:00 น. ถึง 02:00 น. ของวันนั้นเกิดขึ้นซ้ำสองครั้ง เวลาเช่น 01:30 น. อาจหมายถึงโซนเวลาใดก็ได้ หากคุณต้องการแสดงหรือป้อนเวลาในช่วงดังกล่าวอย่างชัดเจน วิธีที่ดีที่สุดคือเปลี่ยนไปใช้โซนเวลาที่ไม่ใช้การปรับเวลาตามฤดูกาลชั่วคราว

รับค่าดิบด้วย Web API

Dataverse จัดเก็บ 2023-10-15T07:30:00Z (หรือ 2023-10-15 สำหรับลักษณะการทำงาน เฉพาะวันที่) ผู้ใช้ในโซนเวลาทั้งหมดจะได้รับรายการเหล่านี้ด้วย คำขอ Web API สำหรับค่า:

พฤติกรรม รูปแบบ ค่าดิบ
เวลาท้องถิ่นของผู้ใช้ วันที่และเวลา 2023-10-15T07:30:00Z
เวลาท้องถิ่นของผู้ใช้ เฉพาะวันที่ 2023-10-15T07:30:00Z
ไม่ผูกกับโซนเวลา วันที่และเวลา 2023-10-15T07:30:00Z
ไม่ผูกกับโซนเวลา เฉพาะวันที่ 2023-10-15T07:30:00Z
เฉพาะวันที่ - 2023-10-15

รับค่าด้วย Client API

ผู้ใช้ในโซนเวลา UTC-8 ป้อน October 14th, 2023, 11:30 pm ในแอปแบบจำลอง ฟังก์ชัน Client API เช่น formContext.getAttribute(<column name>).getValue() ส่งคืนค่าพร้อมกับการปรับโซนเวลา:

พฤติกรรม รูปแบบ JavaScript dateValue.toUTCString()
เวลาท้องถิ่นของผู้ใช้ วันที่และเวลา 2023-10-15 07:30 (UTC)
เวลาท้องถิ่นของผู้ใช้ เฉพาะวันที่ 2023-10-15 07:30 (UTC)

สำหรับลักษณะการทำงาน ไม่ผูกกับโซนเวลา ค่าวันที่ของ JavaScript จะอยู่ในโซนเวลาของเบราว์เซอร์:

พฤติกรรม รูปแบบ JavaScript dateValue.toString()
ไม่ผูกกับโซนเวลา วันที่และเวลา 2023-10-14 23:30 (โซนเวลาของเบราว์เซอร์)
ไม่ผูกกับโซนเวลา เฉพาะวันที่ 2023-10-14 23:30 (โซนเวลาของเบราว์เซอร์)

ค่าวันที่ของ JavaScript มีส่วนประกอบเวลาเสมอ นั่นเป็นสาเหตุที่ลักษณะการทำงาน เฉพาะวันที่ มีส่วนประกอบเวลา 00:00 น.:

พฤติกรรม รูปแบบ JavaScript dateValue.toString()
เฉพาะวันที่ - 2023-10-15 00:00 (โซนเวลาของเบราว์เซอร์)

หมายเหตุ

ค่าวันที่ของ JavaScript ได้รับผลกระทบจากโซนเวลาของเบราว์เซอร์ ซึ่งมาจากการตั้งค่าระบบปฏิบัติการของอุปกรณ์

สำหรับลักษณะการทำงาน เวลาท้องถิ่นของผู้ใช้ ผลลัพธ์ของ Client API ควรตีความว่าเป็นค่า UTC ใช้ Date.getUTCDate(), Date.getUTCHours() ฯลฯ เพื่อทำงานด้วย หากต้องการได้รับสิ่งที่ผู้ใช้เห็น ให้ใช้ getTimeZoneOffsetMinutes อย่าใช้ Date.getDate(), Date.getHours() ฯลฯ เนื่องจากรายการเหล่านี้จะแสดงค่าในโซนเวลาของเบราว์เซอร์

สำหรับลักษณะการทำงาน ไม่ผูกกับโซนเวลา และ เฉพาะวันที่ ผลลัพธ์ Client API ควรตีความว่าเป็นค่าในโซนเวลาของเบราว์เซอร์ ใช้ Date.getDate(), Date.getHours() ฯลฯ เพื่อทำงานด้วย อย่าใช้ Date.getUTCDate(), Date.getUTCHours() และอื่นๆ เนื่องจากคุณไม่จำเป็นต้องปรับเปลี่ยนโซนเวลาใดๆ

เปลี่ยนลักษณะการทำงานเวลาท้องถิ่นของผู้ใช้

เว้นแต่ว่าผู้เผยแพร่ของโซลูชันที่มีการจัดการป้องกันรายการนี้ คุณสามารถเปลี่ยนลักษณะการทำงานของคอลัมน์วันที่แบบกำหนดเองที่มีอยู่จาก เวลาท้องถิ่นของผู้ใช้ เป็น เฉพาะวันที่ หรือ ไม่ผูกกับโซนเวลา ได้ นี่คือการเปลี่ยนแปลงครั้งเดียว

การเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์มีผลต่อค่าของคอลัมน์ที่จะเพิ่ม หรือปรับเปลี่ยนหลังจากที่มีการเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์ ค่าคอลัมน์ที่มีอยู่ยังคงอยู่ในฐานข้อมูลในรูปแบบโซนเวลา UTC หากต้องการเปลี่ยนลักษณะการทำงานของค่าคอลัมน์ที่มีอยู่จาก UTC เป็น เฉพาะวันที่ คุณอาจต้องได้รับความช่วยเหลือจากนักพัฒนาเพื่อ แปลงลักษณะการทำงานของค่าวันที่และเวลาที่มีอยู่ในฐานข้อมูล

คำเตือน

ก่อนการเปลี่ยนแของคอลัมน์วันที่และเวลาที่มีอยู่ คุณควรตรวจทานการขึ้นต่อกันทั้งหมดของคอลัมน์เช่น กฎธุรกิจ เวิร์กโฟลว์ และฟิลด์ที่มีการคำนวณ หรือคอลัมน์ค่าสะสม เพื่อให้แน่ใจว่าไม่มีปัญหาเนื่องจากการเปลี่ยนแปลงลักษณะการทำงาน หลังจากการเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์วันและเวลา ให้เปิดแต่ละกฎธุรกิจ เวิร์กโฟลว์ คอลัมน์ที่คำนวณได้ และคอลัมน์ค่าสะสมที่ขึ้นอยู่กับคอลัมน์ที่คุณเปลี่ยน ตรวจทานข้อมูล บันทึก เพื่อให้แน่ใจว่า จะใช้วันที่ล่าสุด และคอลัมน์เวลาทำงาน และค่าที่

เปลี่ยนลักษณะการทำงานในระหว่างการนำเข้าโซลูชัน

เมื่อคุณนำเข้าโซลูชันที่ประกอบด้วยคอลัมน์วันที่ที่มีลักษณะการทำงาน เวลาท้องถิ่นของผู้ใช้ คุณสามารถเปลี่ยนแปลงลักษณะการทำงานเป็น เฉพาะวันที่ หรือ ไม่ผูกกับโซนเวลา

หมายเหตุ

คุณสามารถเปลี่ยนลักษณะการทำงานของคอลัมน์ เฉพาะวันที่ หรือ วันที่และเวลา ที่มีการจัดการที่มีอยู่ได้เท่านั้นหากคุณเป็นผู้เผยแพร่ หากต้องการเปลี่ยนแปลงฟิลด์เหล่านี้ ต้องอัปเกรดโซลูชันที่เพิ่มคอลัมน์ เฉพาะวันที่ หรือ วันที่และเวลา ข้อมูลเพิ่มเติม: อัปเกรดหรืออัปเดตโซลูชัน

ป้องกันการเปลี่ยนแปลงลักษณะการทำงาน

ถ้าคุณกำลังกระจายคอลัมน์วันที่แบบกำหนดเองในโซลูชันที่มีการจัดการ ป้องกันไม่ให้ผู้ใช้ใช้โซลูชันของคุณจากการเปลี่ยนแปลงลักษณะการทำงาน โดยการตั้งค่าคุณสมบัติที่มีการจัดการ CanChangeDateTimeBehavior เป็น เท็จ ข้อมูลเพิ่มเติม: ตั้งค่าคุณสมบัติที่มีการจัดการสำหรับคอลัมน์

ตัวดำเนินการในการสอบถามวันที่และเวลาไม่ได้รับการสนับสนุนสำหรับลักษณะการทำงานเฉพาะวันที่

ตัวดำเนินการในการสอบถามที่เกี่ยวข้องกับวันที่และเวลาต่อไปนี้ไม่ถูกต้องสำหรับลักษณะการทำงาน เฉพาะวันที่ มีข้อผิดพลาดข้อยกเว้นการดำเนินการไม่ถูกต้องจะเกิดขึ้นเมื่อหนึ่งในตัวดำเนินการเหล่านี้จะใช้ในการสอบถาม

  • เก่ากว่า X นาที
  • เก่ากว่า X ชั่วโมง
  • X ชั่วโมงที่ผ่านมา
  • X ชั่วโมงถัดไป

ดูเพิ่มเติม

แก้ไขปัญหาของวันที่และเวลาในแอปแบบจำลอง
สร้างและแก้ไขคอลัมน์
กำหนดคอลัมน์ที่มีการคำนวณเพื่อการคำนวณด้วยตนเองโดยอัตโนมัติ
คุณสมบัติที่มีการจัดการของคอลัมน์
คุณสมบัติที่มีการจัดการ
บล็อก: การทำงานกับโซนเวลาใน Dataverse
กำหนดค่าลักษณะการทำงานและรูปแบบของคอลัมน์วันที่และเวลาโดยใช้โค้ด

หมายเหตุ

บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)

แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)