検索
ホームページJava&#&チュートリアルJava はどのようにして Python-Dateutil のように簡単に日付を解析できるのでしょうか?

How Can Java Parse Dates Easily Like Python-Dateutil?

Python-Dateutil のように Java で日付を簡単に解析する

Java での日付の解析は、特に任意の日付を扱う場合、困難な作業になることがあります。フォーマット。 Joda Time は解析機能を提供しますが、事前に形式を指定する必要があります。これは、不明な日付形式や一貫性のない日付形式を扱う場合に欠点になる可能性があります。

正規表現の力

この問題に対処するには、DateUtil という Java ライブラリが役立ちます。正規表現を使用して適切な日付形式を決定します。一般的な日付形式パターンとそれに対応する正規表現のコレクションを維持します。

private static final Map<string string> DATE_FORMAT_REGEXPS = new HashMap() {
    {
        put("^\d{8}$", "yyyyMMdd");
        ...
    }
};</string>

一致する日付形式

日付形式を決定するために、ライブラリは正規表現を反復処理します。パターンを調べて、日付文字列がそれらのいずれかに一致するかどうかを確認します。一致するものが見つかった場合は、対応する日付形式文字列を返します。

public static String determineDateFormat(String dateString) {
    for (String regexp : DATE_FORMAT_REGEXPS.keySet()) {
        if (dateString.toLowerCase().matches(regexp)) {
            return DATE_FORMAT_REGEXPS.get(regexp);
        }
    }
    ...
}

SimpleDateFormat の使用

日付形式が決定したら、SimpleDateFormat クラスを使用できます。日付を解析します。

SimpleDateFormat sdf = new SimpleDateFormat(dateFormat);
Date date = sdf.parse(dateString);

例使用法

DateUtil ライブラリを使用するには、次の手順に従います。

  1. ライブラリをプロジェクトにインポートします。
  2. 取得するには、determineDateFormat メソッドを呼び出します。適切な日付形式文字列。
  3. 決定された日付で SimpleDateFormat をインスタンス化します。 format.
  4. SimpleDateFormat.parse を使用して日付文字列を解析します。

結論

正規表現と一般的な日付形式のコレクションを利用するDateUtil は、DateUtil が提供するユーザーフレンドリーなエクスペリエンスと同様に、Java で日付を解析する便利で多用途な方法を提供します。 Python-Dateutil.

以上がJava はどのようにして Python-Dateutil のように簡単に日付を解析できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
監視イベントを実装する方法は?原則から実践への包括的な分析監視イベントを実装する方法は?原則から実践への包括的な分析Apr 19, 2025 pm 02:12 PM

プログラミングにおけるイベントをリスニングする実装の原則と方法に関して、イベントを聴くことは一般的な要件であり、特に特定の価値の変更を聞くことです。多くの人が...

ProjectがJavaで開始されたときにEasypoiでの@excel AnnotationのSavePathパラメーターを動的に変更する方法は?ProjectがJavaで開始されたときにEasypoiでの@excel AnnotationのSavePathパラメーターを動的に変更する方法は?Apr 19, 2025 pm 02:09 PM

開発プロセス中にJavaでエンティティクラスのアノテーションのパラメーターを動的に構成する方法は、さまざまな環境に応じて注釈パラメーターを動的に構成する必要性に遭遇することがよくあります...

糸でpyflinkジョブを送信するときにエラーを報告するのはなぜですか?糸でpyflinkジョブを送信するときにエラーを報告するのはなぜですか?Apr 19, 2025 pm 02:06 PM

PyflinkのジョブをYARNに送信するときにPythonスクリプトが見つからない理由の分析Yarnを介してPyflinkジョブを提出しようとすると、遭遇する可能性があります...

Spring Boot Projectでサードパーティのインターフェイスが呼び出され、フィールド名のケースとGetterメソッドが一貫していない場合はどうすればよいですか?Spring Boot Projectでサードパーティのインターフェイスが呼び出され、フィールド名のケースとGetterメソッドが一貫していない場合はどうすればよいですか?Apr 19, 2025 pm 02:03 PM

スプリングブートプロジェクトでデータを送信するためにサードパーティインターフェイスを呼び出す際に遭遇する困難は、春に使用されます...

名前を数字に変換してグループ内でソートを実装する方法は?名前を数字に変換してグループ内でソートを実装する方法は?Apr 19, 2025 pm 01:57 PM

名前を数字に変換してグループ内でソートを実装する方法は?ユーザーをグループでソートする場合、ユーザーの名前を数字に変換して、異なる可能性があることがよくあります...

Javaリモートデバッグでは、リモートサーバーで一定の値を正しく取得するにはどうすればよいですか?Javaリモートデバッグでは、リモートサーバーで一定の値を正しく取得するにはどうすればよいですか?Apr 19, 2025 pm 01:54 PM

Javaリモートデバッグでの絶え間ない買収に関する質問と回答は、Javaをリモートデバッグに使用する際に、困難な現象に遭遇する可能性があります。それ...

バックエンド開発では、サービスレイヤーとDAOレイヤーの責任をどのように区別するか?バックエンド開発では、サービスレイヤーとDAOレイヤーの責任をどのように区別するか?Apr 19, 2025 pm 01:51 PM

バックエンド開発における階層アーキテクチャの議論。バックエンド開発では、階層アーキテクチャは一般的にコントローラー、サービス、DAOの3層を含む一般的な設計パターンです...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。