Поділитися через


Поведінка та формат стовпця дати й часу

Тут Microsoft Dataverse можна вказати, як значення дати й часу відображатимуться користувачам і як вони коригуватимуться відповідно до часових поясів.

Для стовпців дати й часу доступні два варіанти.

  • Поведінка: чи потрібно коригувати значення для часових поясів.
  • Формат: визначає, чи слід відображати часову частину значення.

Поведінка

Dataverse зберігає всі значення дати й часу в часовому поясі UTC. Коли ваш додаток відображає значення або значення обробки, введені користувачами, Dataverse і програми на основі моделі можуть коригувати часовий пояс користувача за допомогою цих параметрів поведінки .

  • Локальний користувач: налаштуйте значення для часового поясу користувача. Ця поведінка встановлена за замовчуванням. Ви можете один раз змінити цю поведінку на іншу.
  • Незалежний від часового поясу: без перетворення часових поясів.
  • Лише дата: без перетворення часового поясу. На відміну від незалежного від часового поясу, часова частина не зберігається.

Часовий пояс користувача встановлюється в особистих параметрах, а не системний часовий пояс у Windows, Android, iOS, або macOS. Однак системний часовий пояс може впливати на сценарії клієнта, які працюють із JavaScript Dates.

Форматування

Усі стовпці дати й часу мають частину часу, якщо її поведінка не є лише датою. Формат визначає, чи слід відображати часову частину значення.

  • Дата й час: відображає дату й час значення.
  • Лише дата: відображає лише частину дати у значенні.

Примітка

Користувачі все одно можуть змінювати часову частину, якщо для параметра «Формат » вибрано параметр «Лише дата». Наприклад, за допомогою викликів веб-API або за допомогою елемента керування, який має часову частину. Це відрізняється від поведінки лише за датою, де часова частина не зберігається взагалі.

Рекомендації по використанню

Використовуйте незалежну від часового поясу поведінку, коли інформація про часовий пояс не потрібна, наприклад час реєстрації в готелі. Якщо вибрати цей параметр, користувачі в усіх часових поясах бачитимуть однакові значення дати й часу.

Використовуйте поведінку "Лише дата", коли інформація про час доби та часовий пояс не потрібна, наприклад про дні народження або річниці. Якщо вибрати цей параметр, користувачі в усіх часових поясах бачитимуть однакове значення дати.

Незалежна від часового поясу поведінка у форматі «Лише дата» практично така сама, як поведінка «Лише дата». Використовуйте перший, якщо ви не впевнені, чи знадобиться вам часова частина в майбутньому.

Важливо

Уникайте формату Лише дата з локальною поведінкою користувача. Користувачі в різних часових поясах можуть бачити різну дату, яка не призначена в більшості сценаріїв. Коли користувач встановлює дату в додатку на основі моделі, відрізок часу автоматично встановлюється на північ його часового поясу. Це може призвести до того, що дата з’явиться на день раніше або пізніше для інших користувачів.

Приклади

Відображення значень

Dataverse stores 2023-10-15T07:30:00Z (або 2023-10-15 для поведінки лише за датою). Користувачі в часовому поясі UTC-8 бачать це в додатку, керованому моделлю, або за допомогою запиту веб-API для форматованого значення:

Поведінка Форматування Значення для відображення
Місцевий час Дата й час 14 Жовтня, 2023 р., 23:30
Місцевий час Лише дата 14 жовтня 2023 року
Часовий пояс Незалежний Дата й час Жовтень 15th, 2023, 7: 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, часова частина вважається 12:00 AM.

Поведінка Форматування Значення, збережене в Dataverse
Місцевий час Лише дата 2023-10-14T08:00:00Z
Часовий пояс Незалежний Лише дата 2023-10-14T00:00:00Z
Лише дата - 2023-10-14

Введення неприпустимих значень у програмі

Різні клієнти по-різному підходять для маркер некоректного введення. Наприклад, у тихоокеанському часовому поясі перехід на літній час розпочався 12 березня 2023 року о 2:00 ночі, перемістивши час на одну годину вперед на 3:00 ранку. Часу між 2:00 і 3:00 в цей день не існує. Коли користувачі намагаються ввести значення в цьому проміжку часу, програми можуть виконувати одну з наведених нижче дій.

  • Змініть на попередній або наступний дійсний час.
  • Повернутися до останнього відомого значення.
  • Відобразити повідомлення про помилку.
  • Не показуйте час між 2:00 і 3:00 у засобі вибору часу, щоб користувачі не могли вибрати їх у першу чергу.

Аналогічно, різні клієнти по-різному підходять для маркер повторюваних часових діапазонів. Наприклад, у тихоокеанському часовому поясі перехід на літній час закінчився 5 листопада 2023 року о 2:00 ночі, перемістивши час на одну годину назад на 1:00 ночі. Час між 1:00 і 2:00 ночі в цей день повторюється двічі. Такий час, як 1:30 ночі, може стосуватися будь-якого часового поясу. Якщо вам потрібно однозначно відобразити або ввести час у цьому діапазоні, радимо тимчасово перейти на літній час.

Отримуйте необроблені значення за допомогою Web API

Dataverse stores 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 в додаток, керований моделлю. Функції клієнтського 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 завжди мають компонент часу. Ось чому поведінка лише за датою має часову складову 12:00 AM:

Поведінка Форматування JavaScript dateValue.toString()
Лише дата - 2023-10-15 00:00 (часовий пояс браузера)

Примітка

На значення дати JavaScript впливає часовий пояс браузера, який виходить із налаштувань операційної системи пристрою.

Для локальної поведінки користувача, результат клієнтського API слід інтерпретувати як значення UTC. Використовуйте Date.getUTCDate(), і Date.getUTCHours() т.д. для роботи з ним. Щоб отримати те, що бачить користувач, застосуйте getTimeZoneOffsetMinutes. Не використовуйте Date.getDate() і Date.getHours() т.д., оскільки вони покажуть значення в часовому поясі браузера.

Для незалежної від часового поясу поведінки та лише дати результат клієнтського API слід інтерпретувати як значення в часовому поясі веб-переглядача. Використовуйте Date.getDate(), і Date.getHours() т.д. для роботи з ним. Не використовуйте Date.getUTCDate(), Date.getUTCHours() і так далі, тому що вам не потрібно підлаштовуватися під будь-які часові пояси.

Зміна локальної поведінки користувача

Якщо видавець керованого рішення не перешкоджає цьому, ви можете змінити поведінку наявних користувацьких стовпців дати з Локальний користувач на Лише дата або Незалежний від часового поясу. Це одноразова зміна.

Зміна поведінки стовпця впливатиме на значення стовпця, які додаватимуться або змінюватимуться після зміни поведінки стовпця. Існуючі значення стовпців залишаються в базі даних у форматі часового поясу UTC. Щоб змінити поведінку наявних значень стовпців лише з UTC на Date, вам може знадобитися допомога розробника для перетворення поведінки наявних значень дати й часу в базі даних.

Попередження

Перед зміненням поведінки існуючого стовпця дати та часу слід переглянути всі залежності цього стовпця, зокрема бізнес-правила, робочі цикли, стовпці зведення й обчислювані стовпці, щоб уникнути проблем, пов’язаних із зміною поведінки. Змінивши поведінку стовпця дати й часу, відкрийте кожне бізнес-правило, робочий процес, обчислюваний стовпець і стовпець зведення залежно від зміненого стовпця, перегляньте інформацію та збережіть її, щоб переконатися, що використовується поведінка та значення останнього стовпця дати й часу.

Змініть поведінку під час імпортування рішення

Під час імпорту рішення, яке містить стовпець «Дата» з локальною поведінкою користувача, можна змінити поведінку на «Лише дата» або «Незалежна від часового поясу».

Примітка

Ви можете змінити поведінку наявного керованого стовпця «Лише дата» або «Дата й час », лише якщо ви є видавцем. Щоб внести зміни до цих полів, потрібно оновити рішення, яке додало стовпець «Лише дата» або «Дата й час ». Додаткові відомості: Оновлення рішення

Запобігайте зміні поведінки

Якщо ви розповсюджуєте настроюваний стовпець дати в керованому рішенні, забороніть користувачам, які використовують ваше рішення, змінити поведінку, встановивши для керованої властивості CanChangeDateTimeBehavior значення False. Додаткові відомості: Встановлення керованих властивостей для стовпців

Оператори запиту дати й часу не підтримуються для поведінки "Лише дата"

Наведені нижче оператори запитів, пов’язані з датою та часом, неприпустимі для поведінки Лише дата. Помилка неприпустимого винятку оператора виникає, коли один із цих операторів використано в запиті.

  • Старіші за X хвилин
  • Старіші за X год.
  • Минулих X год.
  • Наступних X год.

Див. також

Вирішення проблем із датою й часом у програмах на основі моделі
Створення та редагування стовпців
Визначення обчислюваних стовпців для автоматизації обчислень вручну
Керовані властивості стовпців
Керовані властивості
Блог: Робота з часовими поясами в Dataverse
Налаштуйте поведінку та формат стовпця дати та часу за допомогою коду

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).