В этом уроке мы покажем вам, как получить текущую дату и время из новой Java 8 java.time. *
как Локальная дата , Местное время , Локальное время , Дата в зоне , Мгновенный а также устаревшие API даты и времени, такие как Дата и Календарь .
Содержание
- 1. Получить текущую дату и время на Java
- 2. java.время. Локальная дата
- 3. java.время. Местное время
- 4. java.время. Локальное время
- 5. ява. время. Дата в зоне
- 6. java.время. Моментальный
- 7. java.использование. Дата (Наследие)
- 8. java.использование. Календарь (Наследие)
- 9. Рекомендации
Резюме
- Для новой Java 8
java.время. *
API, мы можем использовать.теперь ()
чтобы получить текущую дату-время и отформатировать ее с помощью Форматировщик даты и времени . - Для устаревших API-интерфейсов даты и времени мы можем использовать
новую дату()
иCalendar.getInstance()
, чтобы получить текущую дату и время и отформатировать ее с помощью SimpleDateFormat .
1. Получить текущую дату и время на Java
Ниже приведены некоторые фрагменты кода для отображения текущей даты и времени в Java.
Для java.время. LocalDate
, использует LocalDate.сейчас()
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd"); LocalDate localDate = LocalDate.now(); System.out.println(dtf.format(localDate)); // 2021/03/22
Для java.time.localtime
, использует LocalTime.now()
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss"); LocalTime localTime = LocalTime.now(); System.out.println(dtf.format(localTime)); // 16:37:15
Для java.время. LocalDateTime
, использует LocalDateTime.now()
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); System.out.println(dtf.format(now)); // 2021/03/22 16:37:15
Для java.время. ZonedDateTime
, использует ZonedDateTime.now()
// get current date-time, with system default time zone DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); ZonedDateTime now = ZonedDateTime.now(); System.out.println(dtf.format(now)); // 2021/03/22 16:37:15 System.out.println(now.getOffset()); // +08:00 // get current date-time, with a specified time zone ZonedDateTime japanDateTime = now.withZoneSameInstant(ZoneId.of("Asia/Tokyo")); System.out.println(dtf.format(japanDateTime)); // 2021/03/22 17:37:15 System.out.println(japanDateTime.getOffset()); // +09:00
Для java.время. Мгновенный
, использует Instant.now()
Instant now = Instant.now(); // convert Instant to ZonedDateTime DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(now, ZoneId.systemDefault()); System.out.println(dtfDateTime.format(zonedDateTime));
Для java.util. Дата
, использует новую дату()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); System.out.println(dateFormat.format(date)); // 2021/03/22 16:37:15
Для java.util. Календарь
, использует Calendar.getInstance()
DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); System.out.println(dateFormat.format(cal.getTime())); // 2021/03/22 16:37:15
2. java.время. Локальная дата
Для java.времени. Локальные данные
, использует Локальные данные.как()
получить текущую дату без часового пояса и отформатировать ее с помощью Форматировщик даты и времени
.
package com.mkyong.app; import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class LocalDateExample { public static void main(String[] args) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd"); LocalDate localDate = LocalDate.now(); System.out.println(dtf.format(localDate)); // 2021/03/22 } }
Выход
2021/03/22
3. java.время. Местное время
Для java.времени. LocalTime
, использует LocalDate.now()
, чтобы получить текущее время без часового пояса и отформатировать его с помощью Форматировщик даты и времени
.
package com.mkyong.app; import java.time.LocalTime; import java.time.format.DateTimeFormatter; public class LocalTimeExample { public static void main(String[] args) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("HH:mm:ss"); LocalTime localTime = LocalTime.now(); System.out.println(dtf.format(localTime)); // 16:37:15 } }
Выход
16:37:15
4. java.время. Локальное время
Для java.время. LocalDateTime
, использует LocalDateTime.now()
, чтобы получить текущее время даты без часового пояса и отформатировать его с помощью Форматировщик даты и времени
.
package com.mkyong.app; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class LocalDateTimeExample { public static void main(String[] args) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); LocalDateTime now = LocalDateTime.now(); System.out.println(dtf.format(now)); // 2021/03/22 16:37:15 } }
Выход
2021/03/22 16:37:15
5. ява. время. Дата в зоне
Для java.время. ZonedDateTime
, использует ZonedDateTime.now()
для получения текущей даты и времени с системным часовым поясом по умолчанию или указанным часовым поясом.
package com.mkyong.app; import java.time.OffsetDateTime; import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; public class ZonedDateTimeExample { public static void main(String[] args) { DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); // Get default time zone System.out.println(ZoneOffset.systemDefault()); // Asia/Kuala_Lumpur System.out.println(OffsetDateTime.now().getOffset()); // +08:00 // get current date time, with +08:00 ZonedDateTime now = ZonedDateTime.now(); System.out.println(dtf.format(now)); // 2021/03/22 16:37:15 System.out.println(now.getOffset()); // +08:00 // get get current date time, with +09:00 ZonedDateTime japanDateTime = now.withZoneSameInstant(ZoneId.of("Asia/Tokyo")); System.out.println(dtf.format(japanDateTime)); // 2021/03/22 17:37:15 System.out.println(japanDateTime.getOffset()); // +09:00 } }
Выход
Asia/Kuala_Lumpur +08:00 2021/03/22 16:37:15 +08:00 2021/03/22 17:37:15 +09:00
6. java.время. Моментальный
Для java.время. Мгновенный
, использует Instant.now()
, чтобы получить секунды, прошедшие с момента эпохи Unix (полночь 1 января 1970 года по UTC), а затем преобразовать в другое java.time. *
классы даты и времени, такие как LocalDate
, Локальное время
и Дата в зоне
.
package com.mkyong.app; import java.time.*; import java.time.format.DateTimeFormatter; public class InstantExample { private static final DateTimeFormatter dtfDate = DateTimeFormatter.ofPattern("uuuu/MM/dd"); private static final DateTimeFormatter dtfTime = DateTimeFormatter.ofPattern("HH:mm:ss"); private static final DateTimeFormatter dtfDateTime = DateTimeFormatter.ofPattern("uuuu/MM/dd HH:mm:ss"); public static void main(String[] args) { // seconds passed since the Unix epoch time (midnight of January 1, 1970 UTC) Instant now = Instant.now(); // convert Instant to LocalDate LocalDate localDate = LocalDate.ofInstant(now, ZoneId.systemDefault()); System.out.println(dtfDate.format(localDate)); // convert Instant to localTime LocalTime localTime = LocalTime.ofInstant(now, ZoneId.systemDefault()); System.out.println(dtfTime.format(localTime)); // convert Instant to LocalDateTime LocalDateTime localDateTime = LocalDateTime.ofInstant(now, ZoneId.systemDefault()); System.out.println(dtfDateTime.format(localDateTime)); // convert Instant to ZonedDateTime ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(now, ZoneId.systemDefault()); System.out.println(dtfDateTime.format(zonedDateTime)); } }
Выход
2021/03/22 16:37:15 2021/03/22 16:37:15 2021/03/22 16:37:15
7. java.использование. Дата (Наследие)
Для унаследованного java.util. Дата
, использует новую дату()
или новая дата(System.currentTimeMillis()
, чтобы получить текущее время даты и отформатировать его с помощью SimpleDateFormat
.
package com.mkyong.app; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; public class DateExample { public static void main(String[] args) { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); System.out.println(dateFormat.format(date)); // 2021/03/22 16:37:15 // new Date() actually calls this new Date(long date) Date date2 = new Date(System.currentTimeMillis()); System.out.println(dateFormat.format(date)); // 2021/03/22 16:37:15 } }
Выход
2021/03/22 16:37:15 2021/03/22 16:37:15
8. java.использование. Календарь (Наследие)
Для унаследованного java.util. Календарь
, использует Calendar.getInstance()
, чтобы получить текущее время даты и отформатировать его с помощью SimpleDateFormat
.
package com.mkyong.app; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; public class CalendarExample { public static void main(String[] args) { DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Calendar cal = Calendar.getInstance(); System.out.println(dateFormat.format(cal.getTime())); // 2021/03/22 16:37:15 } }
Выход
2021/03/22 16:37:15
9. Рекомендации
- Стековый поток –
ууууу
противгггг
вПреобразователь даты и времени
форматирование на Java? - Учебные пособия по дате и времени Java
- Как получить текущие метки времени в Java
- Википедия – Эпоха времени
- Локальная дата
- Местное время
- Локальное время
- Дата в зоне
- Моментальный
- Дата
- Календарь
- Преобразователь даты и времени
- SimpleDateФормат
Оригинал: “https://mkyong.com/java/java-how-to-get-current-date-time-date-and-calender/”