1.概要

  • この短いチュートリアルでは、与えられたJavaの日付から







    日を抽出する方法を調べます。

これらの値を従来の

java.util.Date

クラスを使用して、またJava 8の新しい日時ライブラリを使用して抽出する方法を検討します。

Java 8では、http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html[多数の正当な理由]のために、まったく新しい日時ライブラリが導入されました。他の利点に加えて、** 新しいライブラリは

Year



Month



Day

などの抽出のような操作に対してより良いAPIを提供します。

与えられた

Date

。** から

そして、もしあなたが新しいdate-time libraryに関するより詳細な記事を探しているならば、look

ここ

を見てください。

2. Java 7を使う

特定の

__java.util.Dateに対して、

Year



Month




Day


etcなどの個々のフィールドを抽出するまず最初に、それを

Calendar__インスタンスに変換します。

Date date =//the date instance
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);


__Calendar


instanceを取得したら、その

get__メソッドを直接呼び出して、抽出したい特定のフィールドを指定できます。


__Calendar

__にある定数を使って特定のフィールドを抽出することができます。

2.1. 年を取得


yearを抽出するには、

Calendar.YEAR

を引数として渡して


get

__を呼び出します。

calendar.get(Calendar.YEAR);

2.2. 月を取得


monthを抽出するのと同様に、


Calendar.MONTH


を引数として渡して


get

__を呼び出すことができます。

calendar.get(Calendar.MONTH);


__Calendar

__の月のインデックスは0になっています。 1月の場合、このメソッドは0を返します。

2.3. 一日をゲット

最後に、

dayを抽出するために、


Calendar.DAY

OF

MONTH

を引数として渡して


get __を呼び出します。

calendar.get(Calendar.DAY__OF__MONTH);

3. Java 8を使う

  • 新しい

    java.time

    パッケージには、

    Date

    を表すために使用できるいくつかのクラスが含まれています。

各クラスは、

Date

に加えて格納する追加情報が異なります。

基本の

__LocalDate


justには日付情報が含まれ、

LocalDateTime__には日付情報と時間情報が含まれます。

同様に、

OffsetDateTime



ZonedDateTime

などのより高度なクラスには、それぞれ

UTC

からのオフセットに関する追加情報と

time-zone

に関する情報が含まれています。

  • いずれにせよ、これらのクラスはすべて、年、月、日の情報を抽出するための直接メソッドをサポートしています。

これらのメソッドを調べて、LocalDateインスタンス名

localDate

から情報を抽出します。

3.1. 年を取得


Yearを抽出するために、LocalDate

は単に

__a getYear

__methodを提供します。

localDate.getYear();

3.2. 月を取得

同様に、

__月を抽出するには、


weを


getMonthValue

__APIを使用します。

localDate.getMonthValue();


Calendar

とは異なり、

LocalDate

の月は1からインデックスが付けられます。 1月の場合、これは1を返します。

3.3. 一日をゲット

最後に、

Dayを抽出するために、

getDayOfMonth__メソッドがあります。

localDate.getDayOfMonth();

4.まとめ

このクイックチュートリアルでは、Javaで

Date

から

Year



Month

、および

Day

の整数値を抽出する方法について説明しました。

古い

Date

クラスと

Calendar

クラス、およびJava 8の新しい日時ライブラリを使用してこれらの値を抽出する方法を示しました。

このチュートリアルで使われるスニペットの完全なソースコードはhttps://github.com/eugenp/tutorials/tree/master/java-dates[Githubで入手可能]です。