您的位置:首页 > 编程语言 > Java开发

java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结

2013-07-13 10:54 585 查看


java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结

博客分类: 

java基础JavaSQLOracleIDE 

java.lang.Object 

....|__java.util.Date 

..........|__java.sql.Date/java.sql.Timestamp /java.sql.Time 

【父类】java.util.Date日期格式为:年月日时分秒 

【子类】java.sql.Date日期格式为:年月日[只存储日期数据不存储时间数据] 

【子类】java.sql.Time日期格式为:时分秒 

【子类】java.sql.Timestamp日期格式为:年月日时分秒纳秒(毫微秒) 

针对不同的数据库选用不同的日期类型 

·Oracle的Date类型,只需要年月日,选择使用java.sql.Date类型 

·MS Sqlserver数据库的DateTime类型,需要年月日时分秒,选择java.sql.Timestamp类型 

------------------------------------------ 

四种对象内部均使用系统时间作为标准数据 

·系统时间:自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数,即格林尼治标准时间(GMT) 

·本地时间:根据时区不同打印出来的时间[当时区为GMT+0时,系统时间与本地时间相同] 

我们使用的是以本地时间为参考标准的 

------------------------------------------ 

生成日期对象 

方法一: 

除了父类,三个子类均可通过给其发送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();   

        }        

    }   

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java sql oracle date
相关文章推荐