forum.bitel.ru
http://forum.bitel.ru/

6.1 добавления платежа дата + таймзона клиента зачем?
http://forum.bitel.ru/viewtopic.php?f=22&t=10571
Страница 1 из 1

Автор:  Brodayga [ 01 июн 2015, 14:03 ]
Заголовок сообщения:  6.1 добавления платежа дата + таймзона клиента зачем?

Обновился с 6.0 до 6.1.
при добавлении платежа через клиент биллинга, если на клиенте не правильная таймзона (+4) платёж добавляется с такой датой date="2015-05-31T00:00:00+04:00". В итоге платёж идёт уже 30 числом. в зоне +3
Конечно не правильно то что на клиенте таймзона была +4 . Но в итоге платежи за весь день в системе фиксировались вчерашним днём. А не просто со смещением в час т.к. время не присутствует в платеже,а только дата и тайм зона.
Собственно и вопрос для чего нужна таймзона если используется только дата?
Логика странная: если клиент в зоне +4 значит все его платежи были вчера для зоны +3 ?????

Автор:  zavndw [ 01 июн 2015, 15:30 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

Сколько я работал в клиенте с кривой тз происходило все что угодно, кроме того что нужно

Автор:  dimOn [ 01 июн 2015, 15:40 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

Цитата:
если на клиенте не правильная таймзона (+4) платёж добавляется с такой датой date="2015-05-31T00:00:00+04:00". В итоге платёж идёт уже 30 числом. в зоне +3
Цитата:
Логика странная: если клиент в зоне +4 значит все его платежи были вчера для зоны +3 ?????
Почему странная то? Это же логично вроде как. В другой таймзоне в данный момент может быть другая дата совсем.
Цитата:
Собственно и вопрос для чего нужна таймзона если используется только дата?
Это уже вопрос совсем другой. Так было сделано исторически, но сейчас оно так. Дата передаётся/обрабатывается временем 00:00, это в чём-то неправильно, но нужно это учитывать.

Автор:  dimOn [ 01 июн 2015, 15:43 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

Цитата:
Логика странная: если клиент в зоне +4 значит все его платежи были вчера для зоны +3 ?????
И да. Именно ДЛЯ ЭТОГО клиент при подключении к серверу биллинга БЕРЁТ ЕГО ТАЙМЗОНУ. Чтобы работать в контексте времени и таймзоны сервера.
Откуда бы вы ни подключались к серверу и какая бы таймзона не стояла на компе где запущен клиент - клиент себе насильно установит именно таймзону сервера.
НО смещение в часах при этом может быть разное, если tzdata криво обновлена. В этом и заключается проблема "необновления таймзон".

Автор:  Amir [ 01 июн 2015, 15:50 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

Клиент выставляет у себя таймзону сервера при подключении, например YEKT. Т.е. не важно где сейчас находится клиент.
YEKT, а не +0500 - чтобы клиент знал, что такого-то числа может быть другое смещение.
Но если в клиенте не обновлена Java или ее тайзоны, то YEKT на сервере это +5, а на клиенте - +4.

Автор:  Brodayga [ 01 июн 2015, 18:20 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

dimOn писал(а):
Почему странная то? Это же логично вроде как. В другой таймзоне в данный момент может быть другая дата совсем

Я говорю про конкретный механизм для платежей.
например:
На клиенте время 10:00 31.05.2015 у него пусть будет реальная зона +4
на сервере +3
С учётом зоны сервера платёж должен пройти 31.05.2015 9:00 , а при занесении в базу он стал просто 30.05.2015, т.к. пришёл на сервер 00:00 31.05.2015 +4
Код:
+--------+------------+--------+----+-----+---------+------------------+---------------------+
| id     | dt         | cid    | pt | uid | summa   | comment          | lm                  |
+--------+------------+--------+----+-----+---------+------------------+---------------------+
| 438380 | 2015-05-30 | 118377 |  2 |   3 | 1000.00 || 2015-05-31 16:41:32 |
+--------+------------+--------+----+-----+---------+------------------+---------------------+

Вот это в корни не правильно!!

из журнала запросов
payment => <payment contractId="118377" date="2015-05-31T00:00:00+04:00" id="-1" sum="1000.0" summa="1000.0" typeId="2" userId="0" xmlns=""><comment></comment></payment>

Автор:  stark [ 01 июн 2015, 18:25 ]
Заголовок сообщения:  Re: 6.1 добавления платежа дата + таймзона клиента зачем?

Brodayga писал(а):
dimOn писал(а):
Почему странная то? Это же логично вроде как. В другой таймзоне в данный момент может быть другая дата совсем

Я говорю про конкретный механизм для платежей.
например:
На клиенте время 10:00 31.05.2015 у него пусть будет реальная зона +4
на сервере +3
С учётом зоны сервера платёж должен пройти 31.05.2015 9:00 , а при занесении в базу он стал просто 30.05.2015, т.к. пришёл на сервер 00:00 31.05.2015 +4
Код:
+--------+------------+--------+----+-----+---------+------------------+---------------------+
| id     | dt         | cid    | pt | uid | summa   | comment          | lm                  |
+--------+------------+--------+----+-----+---------+------------------+---------------------+
| 438380 | 2015-05-30 | 118377 |  2 |   3 | 1000.00 || 2015-05-31 16:41:32 |
+--------+------------+--------+----+-----+---------+------------------+---------------------+

Вот это в корни не правильно!!


dimon же писал
Цитата:
Так было сделано исторически, но сейчас оно так. Дата передаётся/обрабатывается временем 00:00, это в чём-то неправильно, но нужно это учитывать.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/