#fiware-orion
#программное обеспечение-orion
Вопрос:
Для всех моих объектов установлен часовой пояс: «timezone»: «Европа / Рим», но TimeInstant сообщает о задержке на 2 часа.
Ответ №1:
NGSIv2 реализует DateTime
тип атрибута, как описано в «Специальных типах атрибутов» документа спецификации NGSIv2:
DateTime: определяет даты в формате ISO8601. Эти атрибуты могут использоваться с операторами запроса «больше чем», «меньше чем», «больше или равно», «меньше или равный» и «диапазон». Например (отображается только атрибут объекта, на который ссылаются):
"timestamp": {
"value": "2017-06-17T07:21:24.238Z",
"type: "DateTime"
}
В настоящий момент (это может измениться в следующей версии) Orion не использует часовые пояса. Таким образом, если это необходимо вашему приложению, именно в вашем приложении должна быть реализована функция учета часового пояса.
Однако обратите внимание, что Orion Context Broker не предоставляет специального режима для атрибутов на основе name. Я имею в виду, что имя атрибута может быть TimeInstant
или любым другим.
РЕДАКТИРОВАТЬ: Поддержка часовых поясов Orion улучшится в версии 1.6.0. Эта версия будет поддерживать интерпретацию часовых поясов во время создания / обновления (так что вы можете использовать, например, 2017-06-17T07:21:24.238Z
и 2017-06-17T08:21:24.238 0100
в том же значении). Однако, чтобы установить общую основу для клиентов, получающих доступ к одним и тем же объектам из разных часовых поясов (как упоминает @LeonanCarvalho), извлечение даты и времени выполняется в UTC / Zulu, независимо от того, как оно было сохранено.
Комментарии:
1. Если ваше приложение может использоваться в регионах с разными часовыми поясами, рекомендуется использовать время UTC, и вы работаете над преобразованием времени в пользовательском интерфейсе.
2. Ответ был отредактирован, чтобы включить информацию о предстоящем выпуске Orion 1.6.0.