Java で日付から年を取得する
-
Java で
Date
とLocalDate
を使って現在の年を取得する -
Java で
Date
とSimpleDateFormat
を使用して現在の年を取得する -
Date.getYear()
とCalendar
を用いて現在の年を取得する
このチュートリアルでは、Java で年を取得する方法を説明します。java.util.Date
クラスを使って現在の日付を取得し、いくつかのメソッドを使って現在の年を抽出します。
Java で Date
と LocalDate
を使って現在の年を取得する
java.util.Date
には、1900 年から減算した値を返す getyear()
メソッドがあります。しかし、このメソッドはずっと前に Java では非推奨になりました。代わりに、java.time
で利用できる LocalDate
クラスを、日時操作を行うための好ましいメソッドとして使うことができます。
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
というフォーマットを渡します。format()を呼び出し、引数に date
を用います。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
を用いて現在の年を取得する
最後のメソッドは java.util.Date
のいくつかのメソッドを置き換えると言われている Calendar
クラスを利用します。Date
オブジェクトを作成し、calendar.getInstance()
を用いて calendar
のインスタンスを取得します。その後、calendar.setTime()
メソッドを呼び出して、カレンダーの時刻を date
に設定します。
年を取得するには、引数に渡されたフィールドの値を返す 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