Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java正規表現を使用して日付文字列(MM-dd-yyyy形式)を受け入れますか?


以下は、dd-MM-yyyy形式の日付と一致する正規表現です。

^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$

その形式の文字列の日付と一致させるため。

  • Patternクラスのcompile()メソッドの上記の式をコンパイルします。

  • Patternクラスのmatcher()メソッドへのパラメーターとして、必要な入力文字列をバイパスするMatcherオブジェクトを取得します。

  • Matcherクラスのmatches()メソッドは、一致が発生した場合はtrueを返し、それ以外の場合はfalseを返します。したがって、このメソッドを呼び出してデータを検証します。

例1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MatchingDate {
   public static void main(String[] args) {
      String date = "01/12/2019";
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      //Creating a pattern object
      Pattern pattern = Pattern.compile(regex);
      //Matching the compiled pattern in the String
      Matcher matcher = pattern.matcher(date);
      boolean bool = matcher.matches();
      if(bool) {
         System.out.println("Date is valid");
      } else {
         System.out.println("Date is not valid");
      }
   }
}

出力

Date is valid

Stringクラスのmatches()メソッドは正規表現を受け入れ、現在の文字列をそれに一致させ、一致した場合はtrueを返し、それ以外の場合はfalseを返します。したがって、指定された日付(文字列形式)が必要な形式であるかどうかを確認するには-

  • 日付文字列を取得します。
  • 上記の正規表現をパラメーターとして渡して、matches()メソッドを呼び出します。

例2

import java.util.Scanner;
public class Just {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter your name: ");
      String name = sc.nextLine();
      System.out.println("Enter your Date of birth: ");
      String dob = sc.nextLine();
      //Regular expression to accept date in MM-DD-YYY format
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      boolean result = dob.matches(regex);
      if(result) {
         System.out.println("Given date of birth is valid");
      } else {
         System.out.println("Given date of birth is not valid");
      }
   }
}

出力1

Enter your name:
Janaki
Enter your Date of birth:
26/09/1989
Given date of birth is not valid
出力2
Enter your name:
Janaki
Enter your Date of birth:
09/26/1989
Given date of birth is valid

  1. Javaで文字列を日付に変換する

    以下が私たちの文字列だとしましょう- String date1 ="11/10/2018"; String date2 = "15-Mar-2019 21:11:35"; 次に、上記の文字列を日付に変換します- SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); Date form

  2. JavaでGsonライブラリを使用して日付をフォーマットするにはどうすればよいですか?

    Gson は、 Googleによって作成されたJava用のJSONライブラリです。 。 Gsonを使用することで、JSONを生成し、JSONをJavaオブジェクトに変換できます。 GsonBuilderインスタンスを作成することでGsonインスタンスを作成できます と電話 create()を使用 方法。 GsonBuilder()。setDateFormat() メソッドは、提供されたパターンに従ってDateオブジェクトをシリアル化するようにGsonを構成します。 構文 public GsonBuilder setDateFormat(java.lang.String pattern)