笔者在开发时,在数据库中存储的时间都是varchar2类型,比如日期‘’2017年01月02日22时12分22秒‘’存储在数据库中就是“20170102221222”所以笔者取出这些时间使用时,就会遇到将这个字符串格式化的问题,所以就编写如下的方法:
注意:
1、此方法用于将 20170102221222 转换成 2017年01月02日22时12分22秒 “20170102221222”与“2017年01月02日22时12分22秒”都是String类型而不是Date类型
2、笔者这里只定义了三种基本样式,使用symbolFlag参数进行选择
public static String String2DatematString(String s2s_dateFormat,char symbolFlag){
String symbol = "/,/, ,:,:, ";
if (symbolFlag == 'A') {
symbol="年,月,日,时,分,秒";
}else if (symbolFlag=='B'){
symbol="-,-, ,:,:, ";
}
//如果这个字符串是14位时间
s2s_dateFormat=s2s_dateFormat.trim();
if (s2s_dateFormat.length()==14) {
s2s_dateFormat= s2s_dateFormat.substring(0, 4)+symbol.split(",")[0]
+s2s_dateFormat.substring(4, 6)+symbol.split(",")[1]
+s2s_dateFormat.substring(6, 8)+symbol.split(",")[2]
+s2s_dateFormat.substring(8, 10)+symbol.split(",")[3]
+s2s_dateFormat.substring(10, 12)+symbol.split(",")[4]
+s2s_dateFormat.substring(12, 14)+symbol.split(",")[5];
}else if (s2s_dateFormat.length()==8) {
s2s_dateFormat= s2s_dateFormat.substring(0, 4)+symbol.split(",")[0]
+s2s_dateFormat.substring(4, 6)+symbol.split(",")[1]
+s2s_dateFormat.substring(6, 8)+symbol.split(",")[2];
}else if (s2s_dateFormat.length()==12) {
s2s_dateFormat= s2s_dateFormat.substring(0, 4)+symbol.split(",")[0]
+s2s_dateFormat.substring(4, 6)+symbol.split(",")[1]
+s2s_dateFormat.substring(6, 8)+symbol.split(",")[2]
+s2s_dateFormat.substring(8, 10)+symbol.split(",")[3]
+s2s_dateFormat.substring(10, 12)+symbol.split(",")[4];
}
return s2s_dateFormat;
}