📌  相关文章
📜  Java中的 ChronoZonedDateTime getLong() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:16:21.732000             🧑  作者: Mango

Java中的 ChronoZonedDateTime getLong() 方法及示例

简介

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 枚举类型来指定需要获取的字段。该方法返回的是长整型值,可以用于进一步处理或者显示。