Случилось страшное! Наши гос."деятели" ничего лучше выдумать не могли как отменить перевод на летнее время.
Я думал что готов к этому....
Сейчас:
1) на сервере время правильное. (обновлял пакетом tzdata)
2) в джаве время правильное. обновлял через tzupdater скормив ему свежий iana файл. Проверял в биллинге скриптом:
Код:
import bitel.billing.server.util.*;
public void main( setup, con, conSlave )
{
Calendar calendar = new GregorianCalendar();
calendar.set( Calendar.DATE, 1 );
print( TimeUtils.convertCalendarToDate( calendar ) );
Date november = new Date( calendar.getTimeInMillis() + (2678400000L) );
print( november );
}
он на выходе показывает:
Код:
GENERATE_TIME: 30.03.16 11:02:48
EXECUTION_STOP_TIME: 30.03.16 11:02:48
PROCESS_TIME: 29
OUT:
Tue Mar 01 11:02:48 AZT 2016
Fri Apr 01 11:02:48 AZT 2016
время и дата и таймзона правильные. В своих логах биллинг также пишет правильное время для происходящих событий.
В mysql время тоже правильное:
Код:
+---------------------+
| now() |
+---------------------+
| 2016-03-30 11:33:47 |
+---------------------+
Для activemq джавы тоже не забыл обновить таймзону.
Казалось что все хорошо. Ан нет. Сегодня выяснилось, что если абоненту посадить расход (к примеру) - он садится
ВЧЕРАШНИМ днем, да и еще на 1 позже.
Вот табличка:
Код:
mysql> select * from contract_charge where cid=2420;
+------+------------+------+----+-----+-------+---------+---------------------+---------+
| id | dt | cid | pt | uid | summa | comment | lm | payback |
+------+------------+------+----+-----+-------+---------+---------------------+---------+
| 4940 | 2016-03-29 | 2420 | 4 | 1 | 0.01 | | 2016-03-30 11:26:29 | 0 |
+------+------------+------+----+-----+-------+---------+---------------------+---------+
Расход сажал сегодня, 2016-03-30 11:26 (именно это время и дата были в окне установки расхода сверху/слева и именно они в клиенте биллинга сверху/справа), а сел расход как за вчерашнее число. В табличке mysql нет времени для поля dt, только дата, но в клиенте биллинга показывается на час позже (см скриншот.)
Что это, как с этим бороться?
Код:
Информация о версии:
Клиент: вер. 6.1.833 / 26.02.2015 20:50:59
os: Mac OS X; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66
ВНИМАНИЕ: Спецификация версии 1.8 не рекомендуется
Сервер: вер. 6.1.1047 / 04.03.2015 19:50:23
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_65
card: вер. 6.1.204 / 04.03.2015 19:50:22
inet: вер. 6.1.661 / 05.03.2015 19:12:18
npay: вер. 6.1.184 / 11.02.2015 04:02:21
reports: вер. 6.1.196 / 08.02.2015 20:45:22
subscription: вер. 6.1.30 / 08.02.2015 20:45:31
tv: вер. 6.1.229 / 15.01.2016 01:28:58
Окружение:
Клиент:
os: Mac OS X x86_64, 10.11.2
java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_66
jre home: /Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/jre
default tz: 30.03.2016 11:52 AZST +0500 (Asia/Baku)
user tz: 30.03.2016 11:52 AZST +0500 (Asia/Baku)
locale: ru_RU
Сервер:
os: Linux amd64, 3.2.0-4-amd64
java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_65
jre home: /opt/java/jdk1.7.0_65/jre
default tz: 30.03.2016 11:52 AZT +0400 (Asia/Baku)
locale: en_US