筆者在開發時,在資料庫中存儲的時間都是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;
}