天天看点

时间字符串转换成日期格式字符串

笔者在开发时,在数据库中存储的时间都是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;

}