Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
 Работа со временем (не могу решить задачку...)  [new]
Sergey9966
Member

Откуда:
Сообщений: 38
В общем - задачка простая относительно. Но с никогда ничего не писал для работы в разных часовых поясах и тут начались проблемы... Замучался в некотором смысле... То есть получается у меня в Японии +8GTM, открывается магазин в 10:00 часов значит. Мне нужно в Канаде, где -5GTM вычислить и выдать:

1. Сколько до этого события осталось времени в Канаде
2. Учитывая, что я вообще в МСК - знать когда это все будет по Московскому времени... Ну то есть написать, когда в МСК случится...

Вроде бы все просто, но я уже голову поломал. Пишу на C# (только начал), ну и на php (в принципе) - просьба на JAVA не писать сложно, у меня от самой задачки мозги в кучу... :(
6 ноя 18, 22:02    [21725907]     Ответить | Цитировать Сообщить модератору
 Re: Работа со временем (не могу решить задачку...)  [new]
Dima T
Member

Откуда:
Сообщений: 13032
Используй UTC

DateTime.UtcNow
7 ноя 18, 07:34    [21726064]     Ответить | Цитировать Сообщить модератору
 Re: Работа со временем (не могу решить задачку...)  [new]
fixxer
Member

Откуда:
Сообщений: 700
На джаве, но не сложно

        // Локальное время открытия
        LocalTime openTime = LocalTime.of(10, 00);
        
        // Сегодня в Токио
        ZonedDateTime tokyoTime = ZonedDateTime.of(openTime.atDate(LocalDate.now()), ZoneId.of("Asia/Tokyo"));
        System.out.println(tokyoTime);
        
        // В Москве
        ZonedDateTime moscowTime = tokyoTime.withZoneSameInstant(ZoneId.of("Europe/Moscow"));
        System.out.println(moscowTime);

        // В Торонто
        ZonedDateTime torontoTime = tokyoTime.withZoneSameInstant(ZoneId.of("America/Toronto"));
        System.out.println(torontoTime);


2018-11-07T10:00+09:00[Asia/Tokyo]
2018-11-07T04:00+03:00[Europe/Moscow]
2018-11-06T20:00-05:00[America/Toronto]
7 ноя 18, 11:21    [21726324]     Ответить | Цитировать Сообщить модератору
 Re: Работа со временем (не могу решить задачку...)  [new]
clihlt
Member

Откуда: Донецк
Сообщений: 1122
Sergey9966
1. Сколько до этого события осталось времени в Канаде


В Канаде до этого события осталось столько же сколько и в Токио, т.к. время течет с одинаковой скоростью во всех часовых поясах.
7 ноя 18, 12:16    [21726492]     Ответить | Цитировать Сообщить модератору
 Re: Работа со временем (не могу решить задачку...)  [new]
Sergey9966
Member

Откуда:
Сообщений: 38
fixxer,

Спасибо, выглядит очень красиво и лаконично... Нужно только чуть понять что в это JAVA все это значит, кажется считанные пара методов. Аж не верится, что это так может быть вообще коротко.
7 ноя 18, 13:35    [21726728]     Ответить | Цитировать Сообщить модератору
 Re: Работа со временем (не могу решить задачку...)  [new]
Sergey9966
Member

Откуда:
Сообщений: 38
Dima T,
Так и начала делать - решил что сделаю массив просто и буду по нему ходить, т.к. уже совсем не мог понять расчеты с датами. Ладно еще один часовой пояс, но тут у меня все сошло с привычного понимания. Может ездил бы я 10 раз в год в командировку - легко бы ориентировался.

То есть задача совсем не тривиальна для меня, в силу отсутствия представления об этом...
7 ноя 18, 13:38    [21726737]     Ответить | Цитировать Сообщить модератору
Все форумы / Программирование Ответить