关于Java中非标准时间字符串类型如何转化成Date类型

Aaron莫言 2014-11-26 06:20:19
如何把非标准字符串时间改成Date类型的时间呢
比如:
20 Nov 2014 14:44:00
星期二, 十一月 25, 2014 09:41
23-10-2014
18.11.2014 06:26
我现在这个可以处理2014年10月13日,我想把它写成通用的,可以对非标准时间的字符串转换成date类型,以下是代码,如何把代码优化成也可以同时处理上面非标准字符串时间

public class TestTime {
public static void main(String[] args) {
TestTime test = new TestTime();
try {
System.out.println(test.parseStringToDate("14年9月26日 ").toLocaleString());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public Date parseStringToDate(String date) throws ParseException{
Date result = null;
String parse = date;
parse = parse.replaceFirst("^[0-9]{4}([^0-9]?)", "yyyy$1");
parse = parse.replaceFirst("^[0-9]{2}([^0-9]?)", "yy$1");
parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1MM$2");
parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}( ?)", "$1dd$2");
parse = parse.replaceFirst("( )[0-9]{1,2}([^0-9]?)", "$1HH$2");
parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1mm$2");
parse = parse.replaceFirst("([^0-9]?)[0-9]{1,2}([^0-9]?)", "$1ss$2");

DateFormat format = new SimpleDateFormat(parse);
result = format.parse(date);
return result;
}
}
...全文
253 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

50,527

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧