java.util.Date、java.sql.Date、java.sql.Time、java.sql.Timestamp小结ITeyedongfang - 超凡娱乐

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

2019-02-06 10:05:56 | 作者: 昊明 | 标签: 时刻,格局,类型 | 浏览: 6029

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类型


转自于:https://www.itniwo.net/blog/v/182984.html
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表超凡娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章