Java 8 如何使用java.time从时间戳获取hourofday?
从java.util.Date(时间戳)中,如何获取一天中的小时数Java 8 如何使用java.time从时间戳获取hourofday?,java-8,java-time,Java 8,Java Time,从java.util.Date(时间戳)中,如何获取一天中的小时数 在joda.time中,我使用getHourOfDay()。有多种解决方案。如果希望使用Java.time中的Java 8类,则需要将Date转换为其中一个DateTime类。以下内容可用于将日期转换为分区日期时间,从中可以获取小时数: Date date = new Date(); // Convert to java 8 ZonedDateTime Date date = new Date(); final ZonedDa
在joda.time中,我使用getHourOfDay()。有多种解决方案。如果希望使用
Java.time
中的Java 8类,则需要将Date
转换为其中一个DateTime类。以下内容可用于将日期
转换为分区日期时间
,从中可以获取小时数:
Date date = new Date();
// Convert to java 8 ZonedDateTime
Date date = new Date();
final ZonedDateTime dateTime = date.toInstant()
.atZone(ZoneId.systemDefault());
// Get the hour
int hour = dateTime.getHour();
正如您所注意到的,非常详细,但原因很简单,日期是
尽管名称不同,java.util.Date
表示时间线上的一个瞬间,而不是“日期”。自1970-01-01T00:00Z(1970 GMT/UTC开始时的午夜)以来,存储在对象中的实际数据是一个很长的毫秒计数
另一种方法是简单地从日历
实例获取字段
final Calendar instance = Calendar.getInstance();
instance.setTime(date);
final int hourOfDay = instance.get(Calendar.HOUR_OF_DAY);
有多种解决方案。如果希望使用Java.time
中的Java 8类,则需要将Date
转换为其中一个DateTime类。以下内容可用于将日期
转换为分区日期时间
,从中可以获取小时数:
Date date = new Date();
// Convert to java 8 ZonedDateTime
Date date = new Date();
final ZonedDateTime dateTime = date.toInstant()
.atZone(ZoneId.systemDefault());
// Get the hour
int hour = dateTime.getHour();
正如您所注意到的,非常详细,但原因很简单,日期是
尽管名称不同,java.util.Date
表示时间线上的一个瞬间,而不是“日期”。自1970-01-01T00:00Z(1970 GMT/UTC开始时的午夜)以来,存储在对象中的实际数据是一个很长的毫秒计数
另一种方法是简单地从日历
实例获取字段
final Calendar instance = Calendar.getInstance();
instance.setTime(date);
final int hourOfDay = instance.get(Calendar.HOUR_OF_DAY);
有多种解决方案。如果希望使用Java.time
中的Java 8类,则需要将Date
转换为其中一个DateTime类。以下内容可用于将日期
转换为分区日期时间
,从中可以获取小时数:
Date date = new Date();
// Convert to java 8 ZonedDateTime
Date date = new Date();
final ZonedDateTime dateTime = date.toInstant()
.atZone(ZoneId.systemDefault());
// Get the hour
int hour = dateTime.getHour();
正如您所注意到的,非常详细,但原因很简单,日期是
尽管名称不同,java.util.Date
表示时间线上的一个瞬间,而不是“日期”。自1970-01-01T00:00Z(1970 GMT/UTC开始时的午夜)以来,存储在对象中的实际数据是一个很长的毫秒计数
另一种方法是简单地从日历
实例获取字段
final Calendar instance = Calendar.getInstance();
instance.setTime(date);
final int hourOfDay = instance.get(Calendar.HOUR_OF_DAY);
有多种解决方案。如果希望使用Java.time
中的Java 8类,则需要将Date
转换为其中一个DateTime类。以下内容可用于将日期
转换为分区日期时间
,从中可以获取小时数:
Date date = new Date();
// Convert to java 8 ZonedDateTime
Date date = new Date();
final ZonedDateTime dateTime = date.toInstant()
.atZone(ZoneId.systemDefault());
// Get the hour
int hour = dateTime.getHour();
正如您所注意到的,非常详细,但原因很简单,日期是
尽管名称不同,java.util.Date
表示时间线上的一个瞬间,而不是“日期”。自1970-01-01T00:00Z(1970 GMT/UTC开始时的午夜)以来,存储在对象中的实际数据是一个很长的毫秒计数
另一种方法是简单地从日历
实例获取字段
final Calendar instance = Calendar.getInstance();
instance.setTime(date);
final int hourOfDay = instance.get(Calendar.HOUR_OF_DAY);
您可以将ZonedDateTime
转换为LocalDateTime
,但是getHour()
也可以在ZonedDateTime
上使用,因此不需要额外的转换。您可以将ZonedDateTime
转换为LocalDateTime
,但是getHour()
也可以在ZonedDateTime
上使用,因此,额外的转换是不必要的。您可以将ZonedDateTime
转换为LocalDateTime
,但是getHour()
上也提供了ZonedDateTime
,因此额外的转换是不必要的。您可以将ZonedDateTime
转换为LocalDateTime
,但是getHour()
在ZoneDateTime
上也可用,因此不需要额外的转换。