天天看點

時間字元串轉換成日期格式字元串

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

}