Якщо моя програма ініціює подію о 21:00 за східним стандартним часом, вона також повинна ініціювати цю подію о 18:00 за тихоокеанським стандартним часом.
На даний момент я аналізую канал, і в ньому вказано, що подія триватиме о 9
вечора за східним часом. Не змінюючи стрічку, який найкращий спосіб зробити мій код універсальним для тих, хто відкриває програму в будь-якому часовому поясі.
Відповіді:
2 для відповіді № 1ви завжди зберігати дати як час UTC (з часовим поясом, що зберігається окремо). Тоді всі пристрої сигналізації можуть легко перетворити це у свій власний місцевий час і подати сигнал тривоги у відповідний час.
Будильники, які повинні бути о 9 ранку, незалежно від того, який часовий пояс тоді зберігається без часового поясу.
2 для відповіді № 2
Ви можете отримати поточний часовий пояс пристрою приблизно так:
TimeZone.getDefault()
.... а потім перетворіть поточний час роботи пристрою та час подачі в GMT.
Тепер ви повинні перевірити, чи рівні вони.
0 для відповіді № 3
використовуйте TimeToNow, використовуючи prettytime http://www.ocpsoft.org/prettytime/
це дасть вам результат як 4 години тому чи мить тому, який видалить фактори часового поясу