Вопрос по timezone, lotus-domino, datetime, xpages – Даты корректируются для пользователей только в полночь на моих страницах

2

У нас действительно странная проблема в xpages, касающаяся дат, в имеющемся у нас документе Notes есть поле даты, а значение - только дата, временная часть отсутствует.

В xpage я указал для отображения даты в качестве значения даты / времени. дата правильно отображается на веб-странице, но теперь мы получаем отчеты от пользователей, которые заходят ночью (около полуночи) и видят дату, настроенную на один день. если одни и те же люди входят в систему в дневное время, дата является правильной, так что это происходит только около полуночи

Я пытался изменить часы на моем клиенте до полуночи, но это не воспроизводит их, поэтому я предполагаю, что это проблема с сервером.

Сервер домино имеет правильную дату / время, и мы используем последнюю версию Domino

есть идеи?

Ваш Ответ

4   ответа
3

я полагаю, нашли очень хорошее решение.

система рассматривает чистую дату как дату в часовом поясе UTC. Значение даты автоматически преобразуется в часовой пояс сервера. Итак, вопрос в том, как предотвратить преобразование?

этот код предотвращает преобразование:

<xp:this.converter>
    <xp:convertDateTime 
        type="date" 
        ignoreUserTimeZone="true" 
        dateStyle="long" 
        timeZone="UTC">
    </xp:convertDateTime>
</xp:this.converter>

обратите внимание на «timeZone» приписывать.

0

что ваша версия Domino была 8.5.3, потому что было 2 APAR, LO72278 и LO67745, на похожих проблемах против 8.5.3. Fixpack 3 обращается к ним.

Основная причина заключается в том, что Lotus Notes позволяет сохранить & quot; дату & quot; без часов или пояса, и сервер Notes имеет настройку часового пояса по умолчанию для интерпретации этих неполных вещей, называемых датами. XPages не играет по тем же правилам, и его основная Java хочет знать, какую зону вы используете, и ищет в системе некоторую подсказку, и обычно будет использовать полночь в пределах некоторого TZ для ссылки на «дату». В «Переполнении стека» есть целый регион «Как сохранить / представить дату». тема - [datetime] - поскольку языки и СУБД имеют свой подход.

Хорошая устаревшая заметка посвящена статье об этом. http://www-10.lotus.com/ldd/ddwiki.nsf/dx/05022009100728PMAGU5MB.htm

Статья об этом XPages http://www-10.lotus.com/ldd/ddwiki.nsf/dx/XPagesTimeZones.htm

Жаль, что они не совсем на одной странице, я предполагаю, что каждый выпуск становится ближе.

2

что в поле даты / времени не указан часовой пояс. Мы столкнулись с этим только вчера. Если вы не указали TZ, он предполагает UTC и будет корректироваться соответствующим образом. Включите часовой пояс, и ваше поле перестанет ошибочно настраиваться.

Спасибо, но в поле даты нет временной части. мы никогда не хотим отображать часовые пояса, так как это даты полета и всегда должны быть в местной дате. Если в поле указано UTC, которое составляет -2 по шведскому времени, то нет смысла добавлять время в 12:00. Thomas Adrian
спасибо, мне удалось воспроизвести проблему также и на местном уровне. Thomas Adrian
Независимо от того, отображаете ли вы или нет, это не означает, что java-объекты, которые выполняют преобразование, не заполняют его. Возможно, он заполняет его текущим временем и предполагает UTC. Таким образом, когда пользователь входит в систему в 23:30 по UTC-2, дата, которую он создает в бэк-энде, на два часа больше, 02.06.2012 в 30:30 по UTC. если вы добавите к своему значению любой соответствующий код TZ, я уверен, что ваша проблема исчезнет. В нашем случае мы сэкономили только время и получили сдвиг времени на 4 часа (у нас UTC-5 при переходе на летнее время, т. Е. На 4 часа). Мы начали хранить полную дату и время с TZ, и это ушло.
0

http://www-304.ibm.com/support/docview.wss?uid=swg21508734

Я видел некоторые сообщения о датах XPages и проблемах с часовыми поясами

Похожие вопросы