在 Java 中获取日期的年份
-
在 Java 中使用
Date
和LocalDate
来获取当前的年份 -
在 Java 中使用
Date
和SimpleDateFormat
获取当前年份 -
使用
Date.getYear()
和Calendar
获取当前年份
本教程介绍了在 Java 中获取当前年份的方法。我们将使用 java.util.Date
类来获取当前日期,然后使用几种方法提取出当前年份。
在 Java 中使用 Date
和 LocalDate
来获取当前的年份
java.util.Date
有 getyear()
方法,返回一个从 1900 年减去的值。但是这个方法在 Java 中很早以前就被废弃了。取而代之的是,我们可以使用 java.time
中可用的 LocalDate
类作为首选方法来进行任何 Date 和时间操作。
我们通过使用 date.toInstant()
将 date
对象转换为 LocalDate
对象,返回时间的即时性。接下来,我们调用 atZone()
使用 ZoneId.systemDefault()
指定系统的默认时区,并将其值传递给 atZone 的
构造函数。最后,我们调用 toLocalDate()
将即时值转换为 LocalDate
。
现在我们有了一个 LocalDate
对象 getLocalDate
,我们使用 getLocalDate.getYear()
获取年份。
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;
public class DateGetYear {
public static void main(String[] args) {
Date date = new Date();
ZoneId timeZone = ZoneId.systemDefault();
LocalDate getLocalDate = date.toInstant().atZone(timeZone).toLocalDate();
System.out.println(getLocalDate.getYear());
}
}
输出:
2021
在 Java 中使用 Date
和 SimpleDateFormat
获取当前年份
Date
返回日期和时间,其中时间设置为 00:00:00。为了只得到年份,我们使用 SimpleDateFormat
来格式化 date
。我们创建一个 SimpleDateFormat
对象,并传递格式,即 yyyy
。getYearFormat.format(date)
以字符串形式返回结果,如输出所示。
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateGetYear {
public static void main(String[] args) {
Date date = new Date();
SimpleDateFormat getYearFormat = new SimpleDateFormat("yyyy");
String currentYear = getYearFormat.format(date);
System.out.println(currentYear);
}
}
2021
使用 Date.getYear()
和 Calendar
获取当前年份
最后一个方法使用 Calendar
类,据说它可以取代 java.util.Date
的一些方法。我们创建一个 Date
对象,并使用 calendar.getInstance()
获得一个 calendar
的实例。之后,我们调用 calendar.setTime()
方法,用 date
设置 Calendar 的时间。
现在为了得到年份,我们调用 calendar.get()
,它返回作为参数传递的字段的值。我们通过 Calendaer.YEAR
来获取作为 int
的年份。
import java.util.Calendar;
import java.util.Date;
public class DateGetYear {
public static void main(String[] args) {
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int dateYear = calendar.get(Calendar.YEAR);
System.out.println(dateYear);
}
}
输出:
2021
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn