Рубрики
Без рубрики

Часовой пояс Java

Часовой пояс Java, пример часового пояса Java, часовой пояс java utc, часовой пояс даты java, часовой пояс java, часовой пояс java по умолчанию, список часовых поясов java, преобразование часового пояса java из PST в IST в GMT, часовой пояс java, java.util.Класс часового пояса, пример кода календаря часового пояса Java.

Автор оригинала: Pankaj Kumar.

Класс часового пояса Java представляет смещение часового пояса, а также вычисляет переход на летнее время. Часовой пояс-это регион земного шара, в котором соблюдается единое стандартное время для всех целей. Часовой пояс важен для программ, так как он дает пользователю ощущение того, что приложение локально для пользователя.

Часовой пояс Java

Начиная с Java 8, для API даты и времени часовые пояса представлены java.time.ZoneId Класс. Это необходимо только в том случае, если вы используете классы даты и времени Java 8, такие как Класс ZonedDateTime . Если вы используете класс календаря из API даты и времени Java 7 и более ранних версий, вы все равно можете использовать java.util.Часовой пояс класс.

Создание экземпляра часового пояса Java

Существует два способа создания объекта часового пояса.

  1. Использование метода getDefault () : класс часового пояса содержит метод getDefault (), который предоставляет объект часового пояса на основе часового пояса, в котором запущено приложение или программа.

    Если вышеупомянутая программа запущена в Индии, то в качестве объекта часового пояса будет указан часовой пояс по умолчанию.

  2. Использование метода getTimeZone () : класс часового пояса содержит метод getTimeZone (), где входным параметром метода является идентификатор часового пояса.

В разделе “Введение” мы обсуждали, что часовой пояс следует использовать вместе с календарем. Давайте попробуем понять, как это должно быть сделано.

Использование часового пояса с календарем

Для использования часового пояса с Календарем нам нужен экземпляр класса Calendar. Мы рассмотрим пример того, как получить часовой пояс из Календаря.

Calendar calendar = new GregorianCalendar();
TimeZone timeZone = calendar.getTimeZone();

Теперь, если мы хотим установить часовой пояс для экземпляра календаря, мы можем выполнить эту задачу следующим образом.

calendar.setTimeZone(timeZone);

Методы часового пояса Java

  • getDisplayName() : Стандартное имя часового пояса, подходящее для представления пользователю в языковом стандарте по умолчанию.

  • getId() : Возвращает идентификатор часового пояса.

  • getOffset(длинная дата) : Возвращает смещение этого часового пояса от UTC на указанную дату.

Мы также можем использовать преобразование часовых поясов для преобразования часового пояса на основе предоставленного идентификатора, этот вариант использования необходим, когда приложение работает в двух определенных часовых поясах.

Преобразование часового пояса Java

Вот пример преобразования даты из календаря в разные часовые пояса.

package com.journaldev.java;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.TimeZone;

public class TimeZoneExample {

	public static void main(String[] args) {
		TimeZone tzLA = TimeZone.getTimeZone("America/Los_Angeles");
		TimeZone tzIN = TimeZone.getTimeZone("Asia/Calcutta");
		
		Calendar calendar = new GregorianCalendar();
		
		calendar.setTimeZone(tzLA);
		
		long timeLA = calendar.getTimeInMillis();
		
		System.out.println("Time at America in milliseconds = " +timeLA);
		System.out.println("Hour at America = " +calendar.get(Calendar.HOUR_OF_DAY));

		calendar.setTimeZone(tzIN);

		long timeIN = calendar.getTimeInMillis();
		System.out.println("Time at Asia in millis = " + timeIN);
		System.out.println("Hour at Asia = " + calendar.get(Calendar.HOUR_OF_DAY));

	}

}

Результат, полученный в приведенном выше примере:

Time at America in milliseconds = 1515136660357
Hour at America = 23
Time at Asia in millis = 1515136660357
Hour at Asia = 12

В приведенном выше примере время, обозначенное миллисекундами, одинаково для Америки и Азии, но есть разница в поле “час”, представляющем изменение часовых поясов.

Идентификатор часового пояса Java

Мы можем получить список идентификаторов, доступных для использования с часовым поясом, используя getAvailableIDs() и повторяя результат метода.

String[] tzIDs = TimeZone.getAvailableIDs();
for(String id : tzIDs) System.out.println(id);

Это все для класса часового пояса Java.

Ссылка: Документация Oracle