Hành vi và định dạng của cột ngày và giờ
Trong Microsoft Dataverse, bạn có thể chỉ định cách hiển thị giá trị ngày và giờ cho người dùng cũng như cách chúng được điều chỉnh theo múi giờ.
Có hai tùy chọn cho cột ngày và giờ.
- Hành vi: Có điều chỉnh giá trị cho múi giờ hay không.
- Định dạng: Có hiển thị phần thời gian của giá trị hay không.
Hành vi
Dataverse lưu trữ tất cả các giá trị ngày và giờ theo múi giờ UTC. Khi ứng dụng của bạn hiển thị các giá trị hoặc xử lý các giá trị do người dùng nhập vào Dataverse và các ứng dụng dựa trên mô hình có thể điều chỉnh theo múi giờ của người dùng bằng các tùy chọn Hành vi này.
- Người dùng cục bộ: Điều chỉnh giá trị theo múi giờ của người dùng. Đây là hoạt động mặc định. Bạn có thể thay đổi hành vi này một lần thành hành vi khác.
- Độc lập múi giờ: Không chuyển đổi múi giờ.
- Chỉ ngày: Không chuyển đổi múi giờ. Không giống như Múi giờ độc lập, phần thời gian không được lưu trữ.
Múi giờ của người dùng được đặt trong tùy chọn cá nhân, không phải múi giờ hệ thống trong Windows, Android, iOS hoặc macOS. Tuy nhiên, múi giờ hệ thống có thể ảnh hưởng đến các tập lệnh máy khách hoạt động với Ngày tháng JavaScript.
Định dạng
Tất cả các cột ngày và giờ đều có phần thời gian trừ khi hành vi của nó là Chỉ ngày. Định dạng xác định xem có hiển thị phần thời gian của giá trị hay không.
- Date and time: Hiển thị ngày, giờ của giá trị.
- Chỉ ngày: Chỉ hiển thị phần ngày của giá trị.
Lưu ý
Người dùng vẫn có thể thay đổi phần thời gian nếu Định dạng là Chỉ ngày. Ví dụ: với lệnh gọi API Web hoặc bằng cách sử dụng điều khiển có phần thời gian. Điều này khác với Chỉ ngày Hành vi, trong đó phần thời gian hoàn toàn không được lưu trữ.
Hướng dẫn sử dụng
Sử dụng hành vi độc lập với múi giờ khi không cần thông tin về múi giờ, chẳng hạn như thời gian nhận phòng khách sạn. Với lựa chọn này, người dùng ở tất cả các múi giờ sẽ thấy cùng một giá trị ngày và giờ.
Sử dụng Hành vi chỉ ngày khi không cần thông tin về thời gian trong ngày và múi giờ, chẳng hạn như sinh nhật hoặc ngày kỷ niệm. Với lựa chọn này, người dùng ở tất cả các múi giờ đều thấy giá trị ngày giống hệt nhau.
Hành vi độc lập về múi giờ với định dạng Chỉ ngày thực tế giống như Chỉ ngày hành vi. Sử dụng phần trước nếu bạn không chắc liệu mình có cần phần thời gian trong tương lai hay không.
Ví dụ
Hiển thị giá trị
Dataverse lưu trữ 2023-10-15T07:30:00Z
(hoặc 2023-10-15
cho chỉ ngày hành vi). Người dùng ở múi giờ UTC-8 nhìn thấy những thông tin này trong ứng dụng dựa trên mô hình hoặc với yêu cầu API Web cho giá trị được định dạng:
Hành vi | Định dạng | Giá trị hiển thị |
---|---|---|
Địa phương của người dùng | Ngày và giờ | Ngày 14 tháng 10 năm 2023, 23:30 |
Địa phương của người dùng | Chỉ định dạng ngày | Ngày 14 tháng 10 năm 2023 |
Múi giờ độc lập | Ngày và giờ | Ngày 15 tháng 10 năm 2023, 7:30 sáng |
Múi giờ độc lập | Chỉ định dạng ngày | Ngày 15 tháng 10 năm 2023 |
Chỉ định dạng ngày | - | Ngày 15 tháng 10 năm 2023 |
Nhập giá trị trong ứng dụng
Người dùng ở múi giờ UTC-8 nhập October 14th, 2023, 11:30 pm
vào ứng dụng dựa trên mô hình. Giá trị được lưu trong Dataverse dưới dạng:
Hành vi | Định dạng | Giá trị được lưu trong Dataverse |
---|---|---|
Địa phương của người dùng | Ngày và giờ | 2023-10-15T07:30:00Z |
Địa phương của người dùng | Chỉ định dạng ngày | 2023-10-15T07:30:00Z |
Múi giờ độc lập | Ngày và giờ | 2023-10-14T23:30:00Z |
Múi giờ độc lập | Chỉ định dạng ngày | 2023-10-14T23:30:00Z |
Chỉ định dạng ngày | - | 2023-10-14 |
Nếu người dùng chỉ nhập ngày October 14th, 2023
thì phần thời gian được giả định là 12:00 sáng.
Hành vi | Định dạng | Giá trị được lưu trong Dataverse |
---|---|---|
Địa phương của người dùng | Chỉ định dạng ngày | 2023-10-14T08:00:00Z |
Múi giờ độc lập | Chỉ định dạng ngày | 2023-10-14T00:00:00Z |
Chỉ định dạng ngày | - | 2023-10-14 |
Nhập giá trị không hợp lệ trong ứng dụng
Các khách hàng khác nhau có những cách khác nhau để xử lý dữ liệu đầu vào không hợp lệ. Ví dụ: theo múi giờ Thái Bình Dương, chế độ tiết kiệm ánh sáng ban ngày bắt đầu lúc 2 giờ sáng ngày 12 tháng 3 năm 2023, chuyển thời gian tiến lên một giờ đến 3 giờ sáng. Khoảng thời gian từ 2 giờ sáng đến 3 giờ sáng ngày hôm đó không tồn tại. Khi người dùng cố gắng nhập một giá trị trong khoảng thời gian đó, ứng dụng có thể thực hiện một trong những thao tác sau:
- Thay đổi về thời gian hợp lệ trước đó hoặc tiếp theo.
- Hoàn nguyên về giá trị đã biết cuối cùng.
- Hiển thị một thông báo lỗi.
- Không hiển thị thời gian từ 2:00 sáng đến 3:00 sáng trong bộ chọn thời gian để người dùng không thể chọn chúng ngay từ đầu.
Tương tự, các khách hàng khác nhau có những cách khác nhau để xử lý các khoảng thời gian lặp lại. Ví dụ: theo múi giờ Thái Bình Dương, chế độ tiết kiệm ánh sáng ban ngày kết thúc lúc 2 giờ sáng ngày 5 tháng 11 năm 2023, khiến thời gian lùi lại một giờ đến 1 giờ sáng. Khoảng thời gian từ 1 giờ sáng đến 2 giờ sáng ngày hôm đó được lặp lại hai lần. Thời điểm như 1:30 sáng có thể đề cập đến một trong hai múi giờ. Nếu bạn cần hiển thị hoặc nhập rõ ràng thời gian trong phạm vi đó, tốt nhất bạn nên tạm thời chuyển sang múi giờ không sử dụng chế độ tiết kiệm ánh sáng ban ngày.
Nhận giá trị thô bằng API Web
Dataverse lưu trữ 2023-10-15T07:30:00Z
(hoặc 2023-10-15
cho chỉ ngày hành vi). Người dùng ở mọi múi giờ nhận được những thứ này với yêu cầu API Web cho giá trị:
Hành vi | Định dạng | Giá trị thô |
---|---|---|
Địa phương của người dùng | Ngày và giờ | 2023-10-15T07:30:00Z |
Địa phương của người dùng | Chỉ định dạng ngày | 2023-10-15T07:30:00Z |
Múi giờ độc lập | Ngày và giờ | 2023-10-15T07:30:00Z |
Múi giờ độc lập | Chỉ định dạng ngày | 2023-10-15T07:30:00Z |
Chỉ định dạng ngày | - | 2023-10-15 |
Nhận giá trị bằng API ứng dụng khách
Người dùng ở múi giờ UTC-8 nhập October 14th, 2023, 11:30 pm
vào ứng dụng dựa trên mô hình. API ứng dụng khách có chức năng như formContext.getAttribute(<column name>).getValue()
trả về giá trị khi áp dụng điều chỉnh múi giờ:
Hành vi | Định dạng | JavaScript dateValue.toUTCString() |
---|---|---|
Địa phương của người dùng | Ngày và giờ | 2023-10-15 07:30 (UTC) |
Địa phương của người dùng | Chỉ định dạng ngày | 2023-10-15 07:30 (UTC) |
Đối với hành vi độc lập với múi giờ, giá trị Ngày JavaScript nằm trong múi giờ của trình duyệt:
Hành vi | Định dạng | JavaScript dateValue.toString() |
---|---|---|
Múi giờ độc lập | Ngày và giờ | 2023-10-14 23:30 (múi giờ trình duyệt) |
Múi giờ độc lập | Chỉ định dạng ngày | 2023-10-14 23:30 (múi giờ trình duyệt) |
Giá trị ngày tháng trong JavaScript luôn có thành phần thời gian. Đó là lý do tại sao Hành vi chỉ ngày có thành phần thời gian là 12:00 sáng:
Hành vi | Định dạng | JavaScript dateValue.toString() |
---|---|---|
Chỉ định dạng ngày | - | 2023-10-15 00:00 (múi giờ trình duyệt) |
Lưu ý
Giá trị ngày tháng của JavaScript bị ảnh hưởng bởi múi giờ của trình duyệt, xuất phát từ cài đặt hệ điều hành của thiết bị.
Đối với hành vi cục bộ của người dùng, kết quả API ứng dụng khách phải được hiểu là giá trị UTC. Sử dụng Date.getUTCDate()
, Date.getUTCHours()
, v.v. để làm việc với nó. Để biết những gì người dùng nhìn thấy, hãy áp dụng getTimeZoneOffsetMinutes. Không sử dụng Date.getDate()
, Date.getHours()
, v.v. vì những thứ này sẽ hiển thị giá trị theo múi giờ của trình duyệt.
Đối với Hành vi độc lập với múi giờ và Chỉ ngày, kết quả API ứng dụng khách phải được hiểu là một giá trị trong trình duyệt Múi giờ. Sử dụng Date.getDate()
, Date.getHours()
, v.v. để làm việc với nó. Không sử dụng Date.getUTCDate()
, Date.getUTCHours()
, v.v. vì bạn không phải điều chỉnh theo bất kỳ múi giờ nào.
Thay đổi hành vi cục bộ của người dùng
Trừ khi nhà xuất bản của giải pháp được quản lý ngăn chặn điều này, bạn có thể thay đổi hành vi của các cột ngày tùy chỉnh hiện tại từ Người dùng cục bộ thành Chỉ ngày hoặc Không phụ thuộc vào múi giờ. Đây là một sự thay đổi một lần.
Việc thay đổi hành vi cột sẽ ảnh hưởng đến các giá trị của cột đã được thêm hoặc sửa đổi sau khi thay đổi hành vi cột. Các giá trị cột hiện có vẫn còn trong cơ sở dữ liệu ở định dạng múi giờ UTC. Để thay đổi hành vi của các giá trị cột hiện có từ UTC thành Chỉ ngày, bạn có thể cần sự trợ giúp của nhà phát triển để chuyển đổi hành vi của ngày hiện tại và các giá trị thời gian trong cơ sở dữ liệu.
Cảnh báo
Trước khi thay đổi hành vi của một cột ngày và giờ hiện có, bạn nên xem lại tất cả quan hệ phụ thuộc của cột, chẳng hạn như quy tắc công việc, quy trình làm việc, cột tính toán hoặc cột tổng số nhằm đảm bảo rằng không có vấn đề nào phát sinh do thay đổi hành vi. Sau khi thay đổi hành vi của cột ngày và giờ, hãy mở từng quy tắc công việc, quy trình làm việc, cột được tính toán và cột tổng số tùy thuộc vào cột mà bạn đã thay đổi, xem lại thông tin và lưu nó để đảm bảo rằng hành vi của cột ngày và giờ mới nhất và giá trị được sử dụng.
Thay đổi hành vi trong khi nhập giải pháp
Khi bạn nhập một giải pháp chứa cột Ngày có hành vi Người dùng cục bộ, bạn có thể thay đổi hành vi thành Chỉ ngày hoặc Không phụ thuộc vào múi giờ.
Lưu ý
Bạn chỉ có thể thay đổi hành vi của cột Chỉ ngày hoặc Ngày và giờ được quản lý hiện có nếu bạn là nhà xuất bản. Để thực hiện thay đổi đối với các trường này, phải thực hiện nâng cấp cho giải pháp đã thêm Chỉ ngày hoặc Ngày và giờ cột. Thêm thông tin: Nâng cấp hoặc cập nhật giải pháp
Ngăn chặn việc thay đổi hành vi
Nếu bạn đang phân phối cột ngày tùy chỉnh trong giải pháp được quản lý, hãy ngăn những người sử dụng giải pháp của bạn thay đổi hành vi bằng cách đặt thuộc tính CanChangeDateTimeBehavior được quản lý thành Sai. Thông tin khác: Đặt thuộc tính được quản lý cho cột
Toán tử truy vấn ngày và giờ không được hỗ trợ cho hành vi Chỉ ngày
Các toán tử truy vấn liên quan đến ngày và thời gian sau đây không hợp lệ đối với hành vi chỉ ngày . Lỗi ngoại trừ toán tử không hợp lệ được bỏ qua khi một trong số những toán tử sau đây được sử dụng trong truy vấn.
- Muộn hơn X Phút
- Quá X giờ
- X giờ qua
- X giờ tới
Xem thêm
Khắc phục sự cố về ngày và giờ trong ứng dụng dựa trên mô hình
Tạo và chỉnh sửa cột
Xác định các cột được tính toán để tự động tính toán thủ công
Thuộc tính được quản lý theo cột
Thuộc tính được quản lý
Blog: Làm việc với các múi giờ trong Dataverse
Định cấu hình hành vi và định dạng của cột ngày và giờ bằng mã
Lưu ý
Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)
Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).
Phản hồi
https://aka.ms/ContentUserFeedback.
Sắp ra mắt: Trong năm 2024, chúng tôi sẽ dần gỡ bỏ Sự cố với GitHub dưới dạng cơ chế phản hồi cho nội dung và thay thế bằng hệ thống phản hồi mới. Để biết thêm thông tin, hãy xem:Gửi và xem ý kiến phản hồi dành cho