我需要根据所有可能的 dateFormats 检查字符串,并且需要检查其有效日期与否。
我面临的问题是我无法预测日期格式,因为它来自其他一些网络资源。一个例子是September 21 2012 1255 PM ET
,。但格式可能会有所不同。
我需要根据所有可能的 dateFormats 检查字符串,并且需要检查其有效日期与否。
我面临的问题是我无法预测日期格式,因为它来自其他一些网络资源。一个例子是September 21 2012 1255 PM ET
,。但格式可能会有所不同。
我建议您实现自己的 Parse 方法并使用正则表达式来确定应该如何解析字符串。您不应该期望在不知道它是哪种格式的情况下解析任何格式的日期。
就我个人而言,我会实现这样的东西(但话又说回来,我已经有一段时间没有编写 Java 代码了):
public SimpleDateFormat ParseDate(string s)
{
SimpleDateFormat parsedDate;
if(s.matches("0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d"))
parsedDate = new SimpleDateFormat("MM/dd/yyyy");
else if(s.matches([PATTERN2]))
parsedDate = new SimpleDateFormat([DATE PATTERN 2]);
...
return parsedDate;
}
等等...
推荐阅读:
http://docs.oracle.com/javase/tutorial/essential/regex/
http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html