📅  最后修改于: 2023-12-03 15:16:21.732000             🧑  作者: Mango
ChronoZonedDateTime
是表示日期和时间的不可变对象,它是时区敏感的。 getLong()
方法返回给定字段的长整型值。这个方法可以用于获取 ChronoZonedDateTime
中的各种时间字段的值,例如年、月、日、小时、分钟等等。
public long getLong(TemporalField field);
其中,field
表示需要获取的字段,参数类型为 TemporalField
。
以下是一个使用 getLong()
方法获取 ChronoZonedDateTime
对象中年份、月份、星期几、小时和分钟的例子:
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.temporal.ChronoField;
public class Main {
public static void main(String[] args) {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
// 加上时区信息
ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());
// 获取年份
long year = zonedDateTime.getLong(ChronoField.YEAR);
System.out.println("year: " + year);
// 获取月份
long month = zonedDateTime.getLong(ChronoField.MONTH_OF_YEAR);
System.out.println("month: " + month);
// 获取星期几
long dayOfWeek = zonedDateTime.getLong(ChronoField.DAY_OF_WEEK);
System.out.println("dayOfWeek: " + dayOfWeek);
// 获取小时
long hour = zonedDateTime.getLong(ChronoField.HOUR_OF_DAY);
System.out.println("hour: " + hour);
// 获取分钟
long minute = zonedDateTime.getLong(ChronoField.MINUTE_OF_HOUR);
System.out.println("minute: " + minute);
}
}
输出结果为:
year: 2021
month: 6
dayOfWeek: 3
hour: 11
minute: 5
上述代码中,首先获取当前时间,然后使用 atZone()
方法添加时区信息,接着调用 getLong()
方法分别获取年份、月份、星期几、小时和分钟的值,并将结果输出至控制台。
ChronoZonedDateTime
中的 getLong()
方法可以用于获取对象中的各种时间字段的值。我们可以使用 ChronoField
枚举类型来指定需要获取的字段。该方法返回的是长整型值,可以用于进一步处理或者显示。