Время в updatetime

Обсуждаем TrackStudio по-русски

Время в updatetime

Postby Defazze » Wed May 13, 2009 8:58 pm

Скажите пожалуйста, как получить из целочисленного значения в updatetime дату и время?
Defazze
 
Posts: 11
Joined: Sun Apr 26, 2009 8:39 pm

Postby Defazze » Thu May 14, 2009 5:49 pm

И дополнительный вопрос: как корректно послать на сервер запрос, который возвращал бы только новые/измененные задачи?
Сейчас запросы выглядит так:

"SELECT t.id FROM com.trackstudio.model.Task AS t where t.updatedate>'{0}'", dateString

Вместо dateString подставляется универсальное время.
Однако запрос отрабатывает некорректно, подозреваю, что это происходит из-за разниц во времени.
Defazze
 
Posts: 11
Joined: Sun Apr 26, 2009 8:39 pm

Re: Время в updatetime

Postby admin » Fri May 15, 2009 1:24 pm

Defazze wrote:Скажите пожалуйста, как получить из целочисленного значения в updatetime дату и время?


Что-нибудь вроде new Date(longDate)
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7454
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Postby admin » Fri May 15, 2009 1:26 pm

Defazze wrote:И дополнительный вопрос: как корректно послать на сервер запрос, который возвращал бы только новые/измененные задачи?
Сейчас запросы выглядит так:

"SELECT t.id FROM com.trackstudio.model.Task AS t where t.updatedate>'{0}'", dateString

Вместо dateString подставляется универсальное время.
Однако запрос отрабатывает некорректно, подозреваю, что это происходит из-за разниц во времени.


Тут есть 2 момента:
1) TS выводит время с учетом часового пояса пользователя, при прямом запросе этого нет.
2) TS для проектов выводит максимальное время для этого проекта и всех его подзадач, при прямом запросе этого тоже нет.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7454
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Postby Defazze » Fri May 15, 2009 3:52 pm

admin wrote:Тут есть 2 момента:
1) TS выводит время с учетом часового пояса пользователя, при прямом запросе этого нет.
2) TS для проектов выводит максимальное время для этого проекта и всех его подзадач, при прямом запросе этого тоже нет.

ОК, какое время я получу при выполнении прямого запроса

SELECT t.updatedate FROM com.trackstudio.model.Task AS t ?
Defazze
 
Posts: 11
Joined: Sun Apr 26, 2009 8:39 pm

Postby admin » Fri May 15, 2009 3:55 pm

Defazze wrote:
admin wrote:Тут есть 2 момента:
1) TS выводит время с учетом часового пояса пользователя, при прямом запросе этого нет.
2) TS для проектов выводит максимальное время для этого проекта и всех его подзадач, при прямом запросе этого тоже нет.

ОК, какое время я получу при выполнении прямого запроса

SELECT t.updatedate FROM com.trackstudio.model.Task AS t ?


Время обновления именно этой задачи в timezone сервера.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7454
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Postby Defazze » Tue May 19, 2009 11:01 am

admin wrote:
Defazze wrote:
admin wrote:Тут есть 2 момента:
1) TS выводит время с учетом часового пояса пользователя, при прямом запросе этого нет.
2) TS для проектов выводит максимальное время для этого проекта и всех его подзадач, при прямом запросе этого тоже нет.

ОК, какое время я получу при выполнении прямого запроса

SELECT t.updatedate FROM com.trackstudio.model.Task AS t ?


Время обновления именно этой задачи в timezone сервера.


Получается некое несоответствие. У меня на клиенте есть время в поле updatedate, которое содержит число, которое при преобразовании превращается в UniversalTime.
А запрос в своей части "where updatedate>'{0}'" ожидает время в timezone сервера.
Следовательно, первый вопрос остается в силе: как получить с сервера список добавленных/удаленных задач, располагая полем updatedate в TaskBean.
Defazze
 
Posts: 11
Joined: Sun Apr 26, 2009 8:39 pm

Postby admin » Wed May 20, 2009 12:58 pm

В поле updatedate в TaskBean (да и вообще всюду) помещается время непосредственно из БД (которое там записано), это потом уже при выводе в интерфейс мы его с учетом таймзоны и локали юзера форматируем (через new DateFormatter(timezone, locale);).

Соответственно в запросе нужно указывать непосредственно это время без каких дибо преобразований над ним. т.е. в запрос надо подставлять время в виде new Timestamp(longTime); (как я понял в данном случае longTime == UniversalTime).
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 7454
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia


Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: No registered users and 0 guests

cron