在数据的接受与转换中,会遇到时间数据的date 类型和String类型的处理。
利用java.text.中的DateForma的相关方法处理
1、时间类型转子浮类型
// date --> string 类型
public static void demoDateToString(){
date= new Date(); //date 类型数据
String s = new SimpleDateFormat("yyyy-MM-dd").getDateInstance().format(date);
//result 2016-7-4
//String s = new SimpleDateFormat("yyyy-MM-dd").format(date);
// result 2016-07-04
String s2 = DateFormat.getDateInstance().format(date);
//2016-7-4
System.out.println(s2);
}
不同的方法调用,出现不同的显示结果
2、字符类型转时间类型
//String -->date
public static void demoStringToDate(){
String str = "2012-12-12";
try {
//获取日期
date =new SimpleDateFormat("yyyy-MM-dd").parse(str);//格式处理器
System.out.println(date);
//Wed Dec 12 00:00:00 GMT+08:00 2012
//获取时间 字符串
//String s2= DateFormat.getDateTimeInstance().format(date);
String s2= DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT).format(date);
System.out.println(s2);//2012-12-12 0:00:00
String s3= DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT).getInstance().format(date);
System.out.println(s3);//12-12-12 上午12:00
Timestamp tsp = Timestamp.valueOf(s2); //此处的参数值类型必须是 yyyy-mm-dd hh:mm:ss[.fffffffff] 2012-12-12 00:00:00
System.out.println(tsp);
} catch (ParseException e) {
e.printStackTrace();
}
}
获取时间 与获取 日期 的处理稍有不同,需要注意。
是否有getInstance(),结果也是稍有不同,Timestamp 处理是有麻烦。需要注意不加getInstance().