我想获取给定日期字符串的格式。
示例:我有一个类似的字符串,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
在这里,当我将string(2011-09-27T07:04:21.97-05:00)传递给将返回format(yyyy-MM- dd'T'HH:mm:ss.SSS)的方法时,我想找出这种日期格式,然后稍后根据我的require(like yy-mm--dd or mm/dd/yyyy)格式化给定的日期字符串。
like yy-mm--dd or mm/dd/yyyy
谁能告诉我如何实现?
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) { } } } } }