Часовой пояс Orion Context Broker

#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.