在 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