比如下列文件内容里的日期都转成类似2015-05-12的格式,对于不符合被转换格式的能用正则表达式忽略吗(比如那个10/&&/1984)?(我想用正则表达式把不符合指定格式的忽略掉)
I married with her on 8/31/1985. Our fist baby is borned on 9/15/1986. 10/&&/1984 is a important day for us.
可以指定被转换日期的格式和转换到哪种日期的格式,比如(mm/dd/yy是被转换的格式,yyyy-mm-dd是转换后的格式),比如函数格式如下format_date("mm/dd/yy","yyyy-mm-dd")
3 个解决方案
#1
我就想用正则表达式了,请问怎么把文本里形如8/31/1985的字符串都取出来格式化掉,不符合这个格式的不动(比如8/31或者10/&&/1984)
#2
现在其他问题都解决了,就是“8/31/1985”不能正确转成时间格式,“31-8-1985”能正常转
这个7/20/1978时间格式的转出来是错误日期
这种20-07-1978格式就行
这个7/20/1978时间格式的转出来是错误日期
String date = "7/20/1978";
try{
Date dateDate = new SimpleDateFormat("MM/DD/YYYY").parse(date);
System.out.println(dateDate);
}catch(Exception e){
}
}
这种20-07-1978格式就行
String date1 = "20-07-1978";
try{
Date dateDate1 = new SimpleDateFormat("dd-MM-yyyy").parse(date1);
System.out.println(dateDate1);
}catch(Exception e){
}
#3
String date = "12/12/2012";
String newdate = date.replaceAll("/", "-");
SimpleDateFormat dateDate = new SimpleDateFormat("mm-dd-yyyy");
Date date2 = dateDate.parse(newdate);
String str = dateDate.format(date2);
System.out.println(str);
这样就可以了啊
#1
我就想用正则表达式了,请问怎么把文本里形如8/31/1985的字符串都取出来格式化掉,不符合这个格式的不动(比如8/31或者10/&&/1984)
#2
现在其他问题都解决了,就是“8/31/1985”不能正确转成时间格式,“31-8-1985”能正常转
这个7/20/1978时间格式的转出来是错误日期
这种20-07-1978格式就行
这个7/20/1978时间格式的转出来是错误日期
String date = "7/20/1978";
try{
Date dateDate = new SimpleDateFormat("MM/DD/YYYY").parse(date);
System.out.println(dateDate);
}catch(Exception e){
}
}
这种20-07-1978格式就行
String date1 = "20-07-1978";
try{
Date dateDate1 = new SimpleDateFormat("dd-MM-yyyy").parse(date1);
System.out.println(dateDate1);
}catch(Exception e){
}
#3
String date = "12/12/2012";
String newdate = date.replaceAll("/", "-");
SimpleDateFormat dateDate = new SimpleDateFormat("mm-dd-yyyy");
Date date2 = dateDate.parse(newdate);
String str = dateDate.format(date2);
System.out.println(str);
这样就可以了啊