У меня была эта проблема. В конце концов я отказался от использования ConstraintLayout здесь и вернулся к RelativeLayout - легко и сработало как шарм.
ConstraintLayout - это здорово, но иногда лучшим решением является старая школа.
Я делал что-то очень похожее, но я теперь думаю, что предпочитаю использовать JavaScript для преобразования всех случаев в локальный на стороне клиента. Сервер даст все случаи в UTC на сгенерированной странице, и JavaScript преобразует его, после того как страница загружается.
Это устраняет беспорядок на серверном коде, поскольку я всегда знаю, во сколько это (UTC). На стороне клиента я использую jQuery и каждого (), функция к формату все время оценивает сразу. Я выписываю каждое из времен как время Unix в скрытом поле для создания этого легким обработать с jQuery.
Единственные проблемы, которые я вижу с этим методом, состоят в том что a) у меня нет очень хорошей стандартной программы форматирования даты/времени еще в JavaScript и b) если пользователю выключили JavaScript, то он не работает.
Вы могли использовать свойство "заголовка" Объекта HttpRequest запросить заголовок "If-Modified-Since", отправленный клиентом. Этот заголовок должен содержать дату в формате, который включает часовой пояс клиента, как это:
If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
простое извлечение подстроки даст Вам код часового пояса. Однако я боюсь не, все браузеры являются когерентными в отправке того заголовка, таким образом, необходимо экспериментировать немного об этом.
отношения, Fabrizio