1.Java.util.Date,Java.sql.Date和Java.sql.Timestamp的关系和区别:
针对不同的数据库选用不同的日期类型
-
Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型
-
MSSqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型
-
Oracle的Date类型,需要年月日时分秒,选择java.sql.Timestamp类型
2.String转换时间格式
转换方式:String è Java.util.Date è Java.sql.Date,Time,Timestamp
注:String要转换成sql.Date的时间类型,都需要先转换成Java.util.Date,然后再转换成所需类型
2.1 String转换Java.util.Date:
通过SimpleDateFormat进行转换,Sample:
String str= "2013-01-14";
SimpleDateFormat sdf = newSimpleDateFormat("yyyy-MM-dd");
Date date =null;
try {
date =sdf.parse(str);
} catch(ParseException e) {
e.printStackTrace();
}
注:如果Month为 Short month strings,例如:Feb格式时,可以通过设定simpleDateFormat的locale,如java.util.Locale.us
SimpleDateFormat format = new SimpleDateFormat("dd-MMM-yyyyHH:mm:ss",Locale.US);
2.2Java.util.Date è String
通过SimpleDateFormat转换指定格式String
SimpleDateFormat df = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String dateString = df.format(newDate());// new Date()为获取当前系统时间
2.3 Java.util.Date è Java.Sql.Date,Java.Sql.Timestamp,Java.sql.Time
String orderdateFrom =” 01-May-201716:30:51”;
SimpleDateFormat format = newSimpleDateFormat("dd-MMM-yyyy HH:mm:ss",Locale.US);
Java.sql.Date timeDate = null;
Java.util.Date parseDate =format.parse(orderdateFrom);
Java.sql.Date timeDate = newJava.sql.Date(parseDate.getTime());
Java.sql.Timestamp orderDateFrom = newJava.sql.Timestamp(parseDate.getTime());
Java.sql.Time orderDatetime = newJava.sql.Time(parseDate.getTime());
附录:SimpleDateFormat函数语法(注意大小写):
G 年代标志符
y 年
M 月
d 日
h 时
在上午或下午 (1~12)
H 时
在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 /
下午
标记符
k 时
在一天中 (1~24)
K 时
在上午或下午 (0~11)
z 时区