Java 日付と時刻
まず、構成されているパラメータを理解しましょう。 日付.
主な内容は以下のとおりです。
- 当学校区の 年 (2桁または4桁)
- 当学校区の 月 (2 桁、月の最初の 3 文字、または月の単語全体のいずれか)。
- 当学校区の date (実際の月の日付になります)。
- 当学校区の 中 (指定された日付の曜日 – 日、月、火など)
コンピュータ システムに関しては、日付に関連付けるために使用できるパラメータが多数あります。このトピックの後半でそれらについて説明します。
日付の表示 Java
それでは、 Java 日付を教えてください。まず、現在の日付を取得する方法を見てみましょう。
Java java.util パッケージの下に Date クラスを提供します。このパッケージには、日付を操作するためのいくつかのメソッドが用意されています。
次のように Date クラスのコンストラクターを呼び出すことで、Date オブジェクトを使用できます。
import java.util.Date; class Date_Ex1 { public static void main(String args[]) { // Instantiate a Date object by invoking its constructor Date objDate = new Date(); // Display the Date & Time using toString() System.out.println(objDate.toString()); } }
出力:
Wed Nov 29 06:36:22 UTC 2017
上記の例では日付がデフォルトの形式で表示されていますが、日付と時刻を別の形式で表示したい場合は、まず日付の形式を理解してください。
SimpleDateFormat: 日付の解析とフォーマット
皆さんも幼稚園でアルファベットを習ったことがあるはず…。
ここで、日付形式の ABC を学習しましょう。
手紙 | 日付または時刻コンポーネント | 例 |
---|---|---|
G | 元号指定子 | AD |
y | 年式 | 2018 |
M | 年の月 | 07月かXNUMX月かXNUMX月 |
w | 年間の週 | 27 |
W | 月内の週 | 2 |
D | 年間の日 | 189 |
d | 月の日 | 10 |
F | 月の曜日 | 2 |
E | 週の曜日名 | 火曜日または火曜日 |
u | 週の日番号 (1 = Monday、…、7 = 日曜日) | 1 |
a | 午前/午後マーカー | PM |
H | 0 日の時間 (23 ~ XNUMX) | 0 |
k | 1 日の時間 (24 ~ XNUMX) | 24 |
K | 午前/午後の時間 (0 ~ 11) | 0 |
h | 午前/午後の時間 (1 ~ 12) | 12 |
m | 時分 | 30 |
s | 分単位で秒 | 55 |
S | ミリ秒 | 978 |
z | タイムゾーン | 太平洋標準時。 PST; GMT-08:00 |
Z | タイムゾーン | -0800 |
X | タイムゾーン | -08 または -0800 または -08:00 |
心配しないでください。これらをすべて覚えておく必要はありません。特定の日付をフォーマットする必要があるときはいつでも参照できます。
SimpleDateFormat の使用方法
Java 要件に応じて日付をフォーマットおよび解析できる SimpleDateFormat というクラスを提供します。
上記の文字を使用して形式を指定できます。
具体的な例を挙げますと、以下の通りです。
1) 必要な日付形式: 2012.10.23 20:20:45 PST
指定された適切な日付形式は次のようになります。 yyyy.MM.dd HH:mm:ss zzz
2) 必要な日付形式:09:30:00 AM 23-May-2012
指定された適切な日付形式は次のようになります。hh:mm:ss dd-MMM-yyyy
ヒント: 文字の大文字化に注意してください。 M と m を間違えると、望ましくない結果が生じます。
コード例でこれを学びましょう。
import java.text.SimpleDateFormat; import java.util.Date; class TestDates_Format { public static void main(String args[]) { Date objDate = new Date(); // Current System Date and time is assigned to objDate System.out.println(objDate); String strDateFormat = "hh:mm:ss a dd-MMM-yyyy"; //Date format is Specified SimpleDateFormat objSDF = new SimpleDateFormat(strDateFormat); //Date format string is passed as an argument to the Date format object System.out.println(objSDF.format(objDate)); //Date formatting is applied to the current date } }
出力:
Wed Nov 29 06:31:41 UTC 2017 06:31:41 AM 29-Nov-2017
日付の比較の例
日付を比較する最も便利な方法は、compareTo() メソッドを使用することです。
以下のコードスニペットを見てみましょう。
import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; class TestDates_Compare { public static void main(String args[]) throws ParseException { SimpleDateFormat objSDF = new SimpleDateFormat("dd-mm-yyyy"); Date dt_1 = objSDF.parse("20-08-1981"); Date dt_2 = objSDF.parse("12-10-2012"); System.out.println("Date1 : " + objSDF.format(dt_1)); System.out.println("Date2 : " + objSDF.format(dt_2)); if (dt_1.compareTo(dt_2) > 0) { System.out.println("Date 1 occurs after Date 2"); } // compareTo method returns the value greater than 0 if this Date is after the Date argument. else if (dt_1.compareTo(dt_2) < 0) { System.out.println("Date 1 occurs before Date 2"); } // compareTo method returns the value less than 0 if this Date is before the Date argument; else if (dt_1.compareTo(dt_2) == 0) { System.out.println("Both are same dates"); } // compareTo method returns the value 0 if the argument Date is equal to the second Date; else { System.out.println("You seem to be a time traveller !!"); } } }
出力:
Date1 : 20-08-1981 Date2 : 12-10-2012 Date 1 occurs before Date 2