Javaで指定された日付文字列形式(パターン)を取得するにはどうすればいいですか?質問する

Javaで指定された日付文字列形式(パターン)を取得するにはどうすればいいですか?質問する

指定された日付文字列の形式を取得したい。

例: のような文字列があり2011-09-27T07:04:21.97-05:00、この文字列の日付形式は ですyyyy-MM-dd'T'HH:mm:ss.SSS

2011-09-27T07:04:21.97-05:00ここで、文字列 ( ) をフォーマット ( ) を返すメソッドに渡すときにこの日付形式を調べyyyy-MM-dd'T'HH:mm:ss.SSS、後で、指定された日付文字列を要件 ( like yy-mm--dd or mm/dd/yyyy) に従ってフォーマットします。

どうすればそれを達成できるか誰か教えてもらえますか?

ベストアンサー1

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NewClass {

    private static final String[] formats = { 
                "yyyy-MM-dd'T'HH:mm:ss'Z'",   "yyyy-MM-dd'T'HH:mm:ssZ",
                "yyyy-MM-dd'T'HH:mm:ss",      "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
                "yyyy-MM-dd'T'HH:mm:ss.SSSZ", "yyyy-MM-dd HH:mm:ss", 
                "MM/dd/yyyy HH:mm:ss",        "MM/dd/yyyy'T'HH:mm:ss.SSS'Z'", 
                "MM/dd/yyyy'T'HH:mm:ss.SSSZ", "MM/dd/yyyy'T'HH:mm:ss.SSS", 
                "MM/dd/yyyy'T'HH:mm:ssZ",     "MM/dd/yyyy'T'HH:mm:ss", 
                "yyyy:MM:dd HH:mm:ss",        "yyyyMMdd", };

        /*
         * @param args
         */
    public static void main(String[] args) {
        String yyyyMMdd = "20110917";   
        parse(yyyyMMdd);
    }

    public static void parse(String d) {
        if (d != null) {
            for (String parse : formats) {
                SimpleDateFormat sdf = new SimpleDateFormat(parse);
                try {
                    sdf.parse(d);
                    System.out.println("Printing the value of " + parse);
                } catch (ParseException e) {

                }
            }
        }
    }
}

おすすめ記事