Javaの日付と時刻
Javaの日付
Javaには組み込みのDateクラスはありませんがjava.time
、日付と時刻のAPIで動作するようにパッケージをインポートできます。パッケージには、多くの日付と時刻のクラスが含まれています。例えば:
Class | Description |
---|---|
LocalDate |
Represents a date (year, month, day (yyyy-MM-dd)) |
LocalTime |
Represents a time (hour, minute, second and nanoseconds (HH-mm-ss-ns)) |
LocalDateTime |
Represents both a date and a time (yyyy-MM-dd-HH-mm-ss-ns) |
DateTimeFormatter |
Formatter for displaying and parsing date-time objects |
パッケージが何であるかわからない場合は、Javaパッケージチュートリアルをお読みください。
現在の日付を表示
現在の日付を表示するには、java.time.LocalDate
クラスをインポートし、そのnow()
メソッドを使用します。
例
import java.time.LocalDate; // import the LocalDate class
public class Main {
public static void main(String[] args) {
LocalDate myObj = LocalDate.now(); // Create a date object
System.out.println(myObj); // Display the current date
}
}
出力は次のようになります。
2022-01-29
現在の時刻を表示する
現在の時刻(時、分、秒、およびナノ秒)を表示するには、java.time.LocalTime
クラスをインポートし、そのnow()
メソッドを使用します。
例
import java.time.LocalTime; // import the LocalTime class
public class Main {
public static void main(String[] args) {
LocalTime myObj = LocalTime.now();
System.out.println(myObj);
}
}
出力は次のようになります。
16:25:16.526555
現在の日付と時刻を表示する
現在の日付と時刻を表示するには、java.time.LocalDateTime
クラスをインポートし、そのnow()
メソッドを使用します。
例
import java.time.LocalDateTime; // import the LocalDateTime class
public class Main {
public static void main(String[] args) {
LocalDateTime myObj = LocalDateTime.now();
System.out.println(myObj);
}
}
出力は次のようになります。
2022-01-29T16:25:16.526065
日付と時刻のフォーマット
上記の例の「T」は、日付と時刻を区切るために使用されます。DateTimeFormatter
同じパッケージ内のメソッドでクラスを使用して、ofPattern()
日時オブジェクトをフォーマットまたは解析できます。次の例では、日時から「T」とナノ秒の両方を削除します。
例
import java.time.LocalDateTime; // Import the LocalDateTime class
import java.time.format.DateTimeFormatter; // Import the DateTimeFormatter class
public class Main {
public static void main(String[] args) {
LocalDateTime myDateObj = LocalDateTime.now();
System.out.println("Before formatting: " + myDateObj);
DateTimeFormatter myFormatObj = DateTimeFormatter.ofPattern("dd-MM-yyyy HH:mm:ss");
String formattedDate = myDateObj.format(myFormatObj);
System.out.println("After formatting: " + formattedDate);
}
}
出力は次のようになります。
Before Formatting: 2022-01-29T16:25:16.527638
After Formatting: 29-01-2022 16:25:16
日付と時刻を別の形式で表示する場合、このofPattern()
メソッドはあらゆる種類の値を受け入れます。例えば:
Value | Example | Tryit |
---|---|---|
yyyy-MM-dd | "1988-09-29" | |
dd/MM/yyyy | "29/09/1988" | |
dd-MMM-yyyy | "29-Sep-1988" | |
E, MMM dd yyyy | "Thu, Sep 29 1988" |