Текущее время  и дата Наука  Наука 

Текущее время и дата

Как узнать текущую дату и время в разных часовых поясах.

 LocalTime

Из данного примера видно как узнать местное время, используя класс LocateTime.

Этот класс представляет информацию о текущем времени без учета часового пояса, и не включает информацию о дате. Формат представления данных часы-минуты-секунды.

Данный класс является неизменным (immutable) и показывает только время.

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

package java1;
 
import java.time.Clock;
import java.time.LocalTime;
import java.time.ZoneId;

public class Test {
	public static void main(String[] args) {
		LocalTime time1 = LocalTime.now();
		System.out.println(time1);
		LocalTime time2 = LocalTime.now(Clock.systemDefaultZone());
		System.out.println(time2);
		System.out.println(LocalTime.now(ZoneId.of("Europe/Paris")));
		System.out.println(LocalTime.now(ZoneId.of("America/Caracas")));
		System.out.println(LocalTime.now(ZoneId.of("Australia/Sydney")));
	}
}

Карта часовых зон:

  • EST — -05:00
  • HST — -10:00
  • MST — -07:00
  • ACT — Australia/Darwin
  • AET — Australia/Sydney
  • AGT — America/Argentina/Buenos_Aires
  • ART — Africa/Cairo
  • AST — America/Anchorage
  • BET — America/Sao_Paulo
  • BST — Asia/Dhaka
  • CAT — Africa/Harare
  • CNT — America/St_Johns
  • CST — America/Chicago
  • CTT — Asia/Shanghai
  • EAT — Africa/Addis_Ababa
  • ECT — Europe/Paris
  • IET — America/Indiana/Indianapolis
  • IST — Asia/Kolkata
  • JST — Asia/Tokyo
  • MIT — Pacific/Apia
  • NET — Asia/Yerevan
  • NST — Pacific/Auckland
  • PLT — Asia/Karachi
  • PNT — America/Phoenix
  • PRT — America/Puerto_Rico
  • PST — America/Los_Angeles
  • SST — Pacific/Guadalcanal
  • VST — Asia/Ho_Chi_Minh

В результате видим:

20:41:29.029
20:41:29.116
19:41:29.118
13:11:29.119
03:41:29.120

LocalDate

java.time.LocalDate класс представляет информацию о текущей дате, не содержит информацию о времени или часовой зоне.

package java1;
 
import java.time.Clock;
import java.time.LocalDate;
import java.time.ZoneId;

public class Test {
	public static void main(String[] args) {
		LocalDate time1 = LocalDate.now();
		System.out.println(time1);
		LocalDate time2 = LocalDate.now(Clock.systemDefaultZone());
		System.out.println(time2);
		System.out.println(LocalDate.now(ZoneId.of("Europe/Paris")));
		System.out.println(LocalDate.now(ZoneId.of("America/Caracas")));
		System.out.println(LocalDate.now(ZoneId.of("Australia/Sydney")));
	}
}

Результат выполнения программы

2015-09-22
2015-09-22
2015-09-22
2015-09-22
2015-09-23

LocalDateTime

java.time.LocalDateTime представляет комбинацию текущего времени и текущей даты, в формате  2015-09-22T21:58:58.931,  без параметра не содержит информацию о часовой зоне.

package java1;
 
import java.time.Clock;
import java.time.LocalDateTime;
import java.time.ZoneId;

public class Test {
	public static void main(String[] args) {
		LocalDateTime time1 = LocalDateTime.now();
		System.out.println(time1);
		LocalDateTime time2 = LocalDateTime.now(Clock.systemDefaultZone());
		System.out.println(time2);
		System.out.println(LocalDateTime.now(ZoneId.of("Europe/Paris")));
		System.out.println(LocalDateTime.now(ZoneId.of("America/Caracas")));
		System.out.println(LocalDateTime.now(ZoneId.of("Australia/Sydney")));
	}
}
2015-09-22T21:58:58.931
2015-09-22T21:58:59.005
2015-09-22T20:58:59.006
2015-09-22T14:28:59.006
2015-09-23T04:58:59.007

 

Похожие записи