Java "JSON中无分隔符日期字符串处理"

时间:2022-06-17 05:57:15

Json 中日期类型数据处理,服务端传输的日期没有分隔符,一般格式就两种,[20151212121212]即yyyyMMddhhmmss和[121212]hhmmss

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale; public class test {
public static void main(String[] args)
{
String strDateTime="20150206201756";
String strTime="201756"; System.out.println(convJsonDateToString(strDateTime,"yyyy-MM-dd hh:mm:ss"));
System.out.println(convJsonDateToString(strTime,"hhmmss","hh:mm:ss"));
}
public static String convJsonDateToString(String jsonDate,String stringTemplate){ String resultString=null;
try {
Calendar cldCalendar=convToCalender(jsonDate, "yyyyMMddhhmmss");
resultString=convToString(cldCalendar, stringTemplate);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultString;
}
public static String convJsonDateToString(String jsonDate,String jsonTemplate,String stringTemplate){ String resultString=null;
try {
Calendar cldCalendar=convToCalender(jsonDate, jsonTemplate);
resultString=convToString(cldCalendar, stringTemplate);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultString;
}
// 把指定格式的日期字符串转日期类型
public static Calendar convToCalender(String str,String template){ SimpleDateFormat sdf;
Date date;
Calendar cltResult = Calendar.getInstance(); sdf = new SimpleDateFormat(template, Locale.getDefault());
try {
date = sdf.parse(str); cltResult.setTime(date); } catch (Exception ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
} return cltResult;
}
// 把日期转指定格式字符串
public static String convToString(Calendar cld,String template){
String resultString=null;
try {
Date date=cld.getTime();
SimpleDateFormat sdf=new SimpleDateFormat(template,Locale.getDefault());
resultString=sdf.format(date);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultString;
}
}