指定された日付文字列の形式を取得したい。
例: のような文字列があり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) {
}
}
}
}
}