logo

Java SimpleDateFormat

java.text.SimpleDateFormat クラスは、Java で日付と時刻をフォーマットおよび解析するメソッドを提供します。 SimpleDateFormat は、java.text.DateFormat クラスを継承する、日付の書式設定と解析を行うための具象クラスです。

注目してください 書式設定とは、日付を文字列に変換することを意味します そして 解析とは文字列を日付に変換することを意味します

クラス SimpleDateFormat のコンストラクター

SimpleDateFormat(文字列パターン引数): 提供されたパターン - pattern_args (デフォルトの FORMAT ロケールのデフォルトの日付形式シンボル) を使用して、SimpleDateFormat クラスをインスタンス化します。

SimpleDateFormat(文字列 pattern_args, ロケール locale_args): 提供されたパターン pattern_args を使用して SimpleDateFormat クラスをインスタンス化します。指定された FORMAT ロケールの場合、デフォルトの日付形式シンボルは locale_args です。

SimpleDateFormat(String pattern_args, DateFormatSymbols formatSymbols): 提供されたパターン (pattern_args と日付 formatSymbols) を使用して、SimpleDateFormat クラスをインスタンス化します。

Java SimpleDateFormat の例: 日付を文字列に変換する

簡単な例を見てみましょう Javaで日付をフォーマットする java.text.SimpleDateFormatクラスを使用します。

ファイル名: SimpleDateFormatExample.java

 import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat('dd/MM/yyyy'); String strDate= formatter.format(date); System.out.println(strDate); } } 
今すぐテストしてください

出力:

13/04/2015 

注: Java では、M (大文字の M) は月を表し、m (小文字の m) は分を表します。

完全な例を見てみましょう Javaで日付と時刻をフォーマットする java.text.SimpleDateFormatクラスを使用します。

ファイル名: SimpleDateFormatExample2.java

 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class SimpleDateFormatExample2 { public static void main(String[] args) { Date date = new Date(); SimpleDateFormat formatter = new SimpleDateFormat('MM/dd/yyyy'); String strDate = formatter.format(date); System.out.println('Date Format with MM/dd/yyyy : '+strDate); formatter = new SimpleDateFormat('dd-M-yyyy hh:mm:ss'); strDate = formatter.format(date); System.out.println('Date Format with dd-M-yyyy hh:mm:ss : '+strDate); formatter = new SimpleDateFormat('dd MMMM yyyy'); strDate = formatter.format(date); System.out.println('Date Format with dd MMMM yyyy : '+strDate); formatter = new SimpleDateFormat('dd MMMM yyyy zzzz'); strDate = formatter.format(date); System.out.println('Date Format with dd MMMM yyyy zzzz : '+strDate); formatter = new SimpleDateFormat('E, dd MMM yyyy HH:mm:ss z'); strDate = formatter.format(date); System.out.println('Date Format with E, dd MMM yyyy HH:mm:ss z : '+strDate); } } 
今すぐテストしてください

出力:

Date Format with MM/dd/yyyy : 04/13/2015 Date Format with dd-M-yyyy hh:mm:ss : 13-4-2015 10:59:26 Date Format with dd MMMM yyyy : 13 April 2015 Date Format with dd MMMM yyyy zzzz : 13 April 2015 India Standard Time Date Format with E, dd MMM yyyy HH:mm:ss z : Mon, 13 Apr 2015 22:59:26 IST 

Java SimpleDateFormat の例: 現在までの文字列

簡単な例を見てみましょう 文字列を日付に変換する java.text.SimpleDateFormatクラスを使用します。

ファイル名: SimpleDateFormatExample3.java

Java リスト
 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatExample3 { public static void main(String[] args) { SimpleDateFormat formatter = new SimpleDateFormat('dd/MM/yyyy'); try { Date date = formatter.parse('31/03/2015'); System.out.println('Date is: '+date); } catch (ParseException e) {e.printStackTrace();} } } 
今すぐテストしてください

出力:

Date is: Tue Mar 31 00:00:00 IST 2015 

メソッド

set2Digit YearStart()

構文:

 public void set2DigitYearStart(Date startDate) 

パラメーター:

startDate: 日付は startDate から startDate + 100 年の範囲で設定されています

戻り値の型:

メソッドの戻り値の型が void です

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: Set2Digit YearStart.java

 // important import statements import java.util.Calendar; import java.text.*; public class Set2DigitYearStart { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); // Setting 2020 // Using the set2DigitYearStart() method sdf.set2DigitYearStart(sdf.parse('02 / 02 / 2000')); clndr.setTime(sdf.parse('02 / 02 / 15')); System.out.println('The New Timing is : ' + clndr.getTime()); } catch (ParseException exp) { exp.printStackTrace(); } } } 

出力:

 Initial Timing is : Fri Nov 12 00:00:00 GMT 2021 The New Timing is : Mon Feb 02 00:00:00 GMT 2015 

get2Digit YearStart()

構文:

 public Date get2DigitYearStart() 

パラメーター:

このメソッドにはパラメータは必要ありません

戻り値の型:

メソッドの戻り値の型は Date で、解析中に設定された 100 年の期間の始まりを返します。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: Get2Digit YearStart.java

 // important import statements import java.util.Calendar; import java.text.*; public class Get2DigitYearStart { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); // Setting 2020 // Using the set2DigitYearStart() method sdf.set2DigitYearStart(sdf.parse('02 / 02 / 2000')); System.out.println('The New Timing is : ' + clndr.getTime()); // Using the method get2DigitYearStart() for checking the start year clndr.setTime(sdf.get2DigitYearStart()); System.out.println('The start year is: ' + clndr.get(Calendar.YEAR)); } catch (ParseException exp) { exp.printStackTrace(); } } } 

出力:

 Initial Timing is : Fri Nov 12 00:00:00 GMT 2021 The New Timing is : Mon Feb 02 00:00:00 GMT 2015 The start year is: 2000 

toPattern()

構文:

Gimp 背景を削除する
 public String toPattern() 

パラメーター:

このメソッドにはパラメータは必要ありません

戻り値の型:

メソッドの戻り値の型は String で、日付形式のパターンを返します。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: ToPattern.java

 // important import statements import java.util.Calendar; import java.text.*; public class ToPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing the Calendar object Calendar clndr = Calendar.getInstance(); // getting the Current Date String currDate = sdf.format(clndr.getTime()); System.out.println('Current Date : ' + currDate); // Using the toPattern() method // Displaying the Date Pattern System.out.println('The Date Pattern is: ' + sdf.toPattern()); } } 

出力:

 Current Date : 12/11/21, 7:24 AM The Date Pattern is: M/d/yy, h:mm a 

解析()

構文:

 public Date parse() 

パラメーター:

このメソッドにはパラメータは必要ありません

戻り値の型:

メソッドの戻り値の型は Date で、解析された日付を返します。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: 解析.java

 // important import statements import java.util.Calendar; import java.text.*; public class Parse { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat('MM / dd / yy' ); try { // getting the instance of the class Calendar Calendar clndr = Calendar.getInstance(); clndr.setTime(sdf.parse('11 / 12 / 21')); System.out.println('Initial Timing is : ' + clndr.getTime()); } catch (ParseException exp) { exp.printStackTrace(); } } } 

出力:

 Initial Timing is : Fri Nov 12 00:00:00 GMT 2021 

applyPattern()

構文:

 public void applyPattern() 

パラメーター:

このメソッドにはパラメータは必要ありません

戻り値の型:

メソッドの戻り値の型は void です。したがって、メソッドは何も返しません。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: 適用パターン.java

 // important import statements import java.util.Calendar; import java.text.*; public class ApplyPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); // Using the arg pattern String ar = 'dd / MM / yyyy HH:mm Z'; // Using the method applyPattern() to set the date to arg format sdf.applyPattern(ar); // for the current time and date String currDate = sdf.format(clndr.getTime()); System.out.println('The current date is: ' + currDate); // Printing the pattern used System.out.println('The Pattern applied is: ' + sdf.toPattern()); } } 

出力:

 The current date is: 11 / 12 / 2021 07:41 +0000 The Pattern applied is: dd / MM / yyyy HH:mm Z 

フォーマット()

構文:

 public final String format(Date args) 

パラメーター:

このメソッドは引数として Date を受け取ります

戻り値の型:

メソッドの戻り値の型は String で、フォーマットされた日付の文字列を返します。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: フォーマット.java

 // important import statements import java.util.Calendar; import java.text.*; public class Format { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); System.out.println('The actual date is: ' + clndr.getTime()); // use theh format() method for the current time and date String currDate = sdf.format(clndr.getTime()); System.out.println('The formatted date is: ' + currDate); } } 

出力:

 The actual date is: Sat Dec 11 13:48:36 GMT 2021 The formatted date is: 12/11/21, 1:48 PM 

toLocalizedPattern()

構文:

 public String toLocalizedPattern() 

パラメーター:

テクノロジーの長所と短所

このメソッドは引数を取りません

戻り値の型:

メソッドの戻り値の型は String で、このメソッドは日付フォーマッタの日付パターン文字列を返します。

実装:

このメソッドをコードに実装する方法を見てみましょう。

ファイル名: ToLocalizedPattern.java

 // important import statements import java.util.Calendar; import java.text.*; public class ToLocalizedPattern { // main method public static void main(String argvs[]) throws InterruptedException { // creating an object of the class SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); // Initializing calendar Object Calendar clndr = Calendar.getInstance(); System.out.println('The Date is: ' + sdf.format(clndr.getTime())); // Using the format() method for formatting the Date to String System.out.println('The pattern in the DateFormater is : ' + sdf.toLocalizedPattern()); } } 

出力:

 The Date is: 12/11/21, 3:01 PM The pattern in the DateFormater is : M/d/yy, h:mm a