工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java 日付・時刻マスター:SimpleDateFormat、現在日時取得、日付比較

このチュートリアルでは、Java での日付と時刻の扱いの基本をカバーします:

Java の Date オブジェクトは以下のコンポーネントを表します:

Java 日付・時刻マスター:SimpleDateFormat、現在日時取得、日付比較

コンピュータはさらに多くの日付関連パラメータをサポートしており、後続セクションで説明します。

Java で現在日時を表示

Java の java.util.Date クラスは、現在のシステム日時を取得するシンプルな方法を提供します。最小限の例:

import java.util.Date;
class DateExample {
    public static void main(String[] args) {
        Date current = new Date();
        System.out.println(current.toString());
    }
}

出力:

Wed Nov 29 06:36:22 UTC 2017

出力はデフォルトの toString() 形式を使用します。カスタムレイアウトで日付を表示するには、明示的にフォーマットする必要があります。

SimpleDateFormat:日付のパースとフォーマット

Java はパターン文字列を使って日付をフォーマットし、文字を特定の日付コンポーネントにマッピングします。参照テーブル:

文字日付/時刻コンポーネント例
G紀元AD
y年2018
M月July, Jul, 07
w年の週27
W月の週2
D年の日189
d月の日10
F月の何番目の曜日2
E曜日名Tuesday, Tue
u週の日番号(1=月…7=日)1
aAM/PM マーカーPM
H時間(0-23)0
k時間(1-24)24
K午前/午後の時間(0-11)0
h午前/午後の時間(1-12)12
m分30
s秒55
Sミリ秒978
zタイムゾーンPacific Standard Time; PST; GMT-08:00
Zタイムゾーンオフセット-0800
Xタイムゾーン-08, -0800, -08:00

特定のフォーマット文字列を構築する際はこのテーブルを参照してください。

SimpleDateFormat の使用

SimpleDateFormat クラスでパターンを定義し、日付をフォーマットまたはパースできます。例:

ヒント: 大文字小文字に注意—月は M、分は m を使うことが必須です。

import java.text.SimpleDateFormat;
import java.util.Date;
class TestDatesFormat {
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println(now);
        String pattern = "hh:mm:ss a dd-MMM-yyyy";
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        System.out.println(sdf.format(now));
    }
}

出力:

Wed Nov 29 06:31:41 UTC 2017
06:31:41 AM 29-Nov-2017

日付の比較

Java 日付・時刻マスター:SimpleDateFormat、現在日時取得、日付比較

Java での日付比較で最も信頼できるメソッドは compareTo() で、最初の日付が早ければ負の値、等しければゼロ、遅ければ正の値を返します。

import java.text.SimpleDateFormat;
import java.text.ParseException;
import java.util.Date;
class TestDatesCompare {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yyyy");
        Date date1 = sdf.parse("20-08-1981");
        Date date2 = sdf.parse("12-10-2012");
        System.out.println("Date1 : " + sdf.format(date1));
        System.out.println("Date2 : " + sdf.format(date2));
        if (date1.compareTo(date2) > 0) {
            System.out.println("Date 1 occurs after Date 2");
        } else if (date1.compareTo(date2) < 0) {
            System.out.println("Date 1 occurs before Date 2");
        } else {
            System.out.println("Both dates are the same");
        }
    }
}

出力:

Date1 : 20-08-1981
Date2 : 12-10-2012
Date 1 occurs before Date 2

Java

  1. リアクティブDC回路における電圧と電流の計算
  2. C++日付と時刻の完全ガイド:ctimeライブラリの活用
  3. Pythonで現在の日付と時刻を取得する実践ガイド
  4. Pythonで現在時刻とタイムゾーンデータを簡単に取得する
  5. Python 日付と時刻の完全マスター:実践的ガイド
  6. Java演算子をマスター:種類、構文、実践例
  7. Javaコメント:種類、使い方、ベストプラクティス
  8. Java拡張forループをマスター:構文、例、ベストプラクティス
  9. Java日付時刻完全ガイド:Date/Calendar/SimpleDateFormat/printf
  10. Java 10の時間ベースリリースバージョニング:予測可能な半年ごとのアップデート
  11. Java 8 新Date/Time API徹底解説:堅牢で使いやすい日付時刻処理