【父类】java.util.Date日期格式为:年月日时分秒
【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据]
【子类】java.sql.Time日期格式为:时分秒
【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒)
针对不同的数据库选用不同的日期类型
·Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型
·MS Sqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型
生成日期对象
方法一:
除了父类,三个子类均可通过给其发送valueOf()消息,生成所需格式的对象。-
- java.sql.Date sqlDate = java.sql.Date.valueOf("2010-08-20");
- java.sql.Time time = java.sql.Time.valueOf("13:44:53");
- java.sql.Timestamp time = java.sql.Timestamp.valueOf("2010-08-20 14:06:27.186");
- 方法二:
- java.util.Date——>java.sql.Date
- new java.sql.Date(new java.util.Date().getTime());
- new java.util.Date(new java.sql.Date().getTime());//此处IDE报错
- java.util.Date——>java.sql.Timestamp
- new java.sql.Timestamp(new java.util.Date().getTime());//此处IDE报错
- java.util.Date——>java.sql.Time
- new java.sql.Time(new java.util.Date().getTime());
- Timestamp timestamp = new Timestamp(System.currentTimeMillis());
- 我们可以使用DateFormat处理字符串来定义时间日期的格式
- 注:String都是先转换为java.util.Date,然后再转换成所需的格式
- Calendar
- Calendar calendar=Calendar.getInstance();
- //获得当前时间,声明时间变量
- int year = calendar.get(Calendar.YEAR);
- int month = calendar.get(Calendar.MONTH);
- month = month+1; //[0,11]
- int date = calendar.get(Calendar.DATE);
- String today = ""+year+"-"+month+"-"+date+"";
- String to Date[java.sql.Date]
- String to Time[java.sql.Timestamp]
- DateFormat dateFormat;
- dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
- //dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);
- //设定格式
- dateFormat.setLenient(false);
- java.util.Date timeDate = dateFormat.parse(dateString);
- //util类型
- java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());
- //sql类型
- // java.sql.Timestamp dateTime = new java.sql.Timestamp
- (timeDate.getTime());
- //Timestamp类型
- Java代码
- public class DateTest {
- public static void main(String[] args) throws ParseException{
- try{
- String dateString = "2010-08-20 12:00:00.125";
- DateFormat dateFormat;
- dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS",Locale.ENGLISH);//设定格式
- dateFormat.setLenient(false);
- java.util.Date timeDate = dateFormat.parse(dateString);//util类型
- java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型
- System.out.println(dateTime);
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }
- }
复制代码 |