Я розробляю додаток для android, який повинен перераховувати дії з його датою та часом. Я хотів би ігнорувати часовий пояс пристрою і завжди показувати час у часовому поясі +02: 00.
Додаток призначений для Іспанії, але якщо хтось із Великобританії, який перебуває в іншому часовому поясі, використовує програму, я хочу, щоб час для занять з’явився в місцевий іспанський час.
Дата у форматі UTC, використовуючи Calendar.getTime (). ToLocaleString (), що відображається в локальному часовому поясі пристрою.
Я хотів би знати, чи є спосіб встановити ачасовий пояс за замовчуванням, який повинен використовувати мій додаток, і коли я викликаю метод Calendar.getTime (). toLocaleString (), отримуйте час завжди в локальному часовому поясі +2, незважаючи на часовий пояс пристрою
Відповіді:
0 для відповіді № 1Потрібно встановити часовий пояс свого календаря. Це можна зробити так:
Calendar.setTimeZone(TimeZone timezone);
І тоді ваш календар буде працювати з іншим часовим поясом.
Якщо ви хочете змінити часовий пояс системи, це можна зробити за допомогою setTimeZone()
програми AlarmManager.
При цьому маніфест повинен містити правильний дозвіл, який є
android.permission.SET_TIME
Посилання на Документація
І є якесь інше рішення, яке я знайшов Ось тут, Перевір.
0 для відповіді № 2
TimeZone.setDefault(TimeZone.getTimeZone("GMT+3"));
Це встановлює часовий пояс за замовчуванням. Подальші дзвінки на Calendar.getInstance()
завжди повертайтеся так, ніби пристрій знаходився в тому часовому поясі.