浏览 4193 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-08-20
....|__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类型 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(); } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-12-16
刚好是要找的东西,多谢楼主
|
|
返回顶楼 | |