oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化
以下是對Java中的日期對象與Oracle中的日期之間的區別與聯系做點說明,以期對大家有所幫助。
new Date():分配 Date 對象并初始化此對象,以表示分配它的時間(精確到毫秒),就是系統當前。
new Date(long date) : 分配 Date 對象并初始化此對象,以表示自從標準基準時間
(稱為“歷元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以來的指定毫秒數。
long getTime() :返回自 1970 年 1 月 1 日 00:00:00 GMT 以來此 Date 對象表示的毫秒數。
String toString() :把此 Date 對象轉換為以下形式的
String: dow mon dd hh:mm:ss zzz yyyy
其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。
*****************************************
static Calendar getInstance() :使用默認時區和語言環境獲得一個日歷。
Date getTime() 返回一個表示此 Calendar 時間值(從歷元至現在的毫秒偏移量)的 Date 對象。
long getTimeInMillis() :返回此 Calendar 的時間值,以毫秒為單位。
void setTime(Date date) :使用給定的 Date 設置此 Calendar 的時間。
void setTimeInMillis(long millis) :用給定的 long 值設置此 Calendar 的當前時間值。
**** *************************************
new SimpleDateFormate("yyyy-MM-dd hh:mm:ss").format(new Date());返回String類對象
總結:
1、獲得系統當前時間
獲得long型: System.currentTimeMillis()
獲得Data型:new Data();
獲得Calendar型:
Calendar c = Calendar.getInstance();
c.setTime(System.currentTimeMillis();
通常獲得Calendar后,可以對各個字段進操作;
2、時間的各種類型之間的轉換:
Calendar 到Date:c.getTime() 返回一個Date對象
Date 到 Calendar:c.setTime():返回一個Calendar對象
3、關于數據庫中時間的存儲對象
(1)表示日期和時間的DATA類型,DATA字段中存儲的值包含有與世紀、年、月、日、小時、分鐘、和秒相對應的“組成部分”,它通過不同的方法顯示和操作,它有效地獨立于任何塔頂字符串格式
(2)從Oracle 9i開始提供TIMESTAMP類型是DATE類型的有效擴展形式,它提供更大的時間精度,支持多大九位的小孩,同時還能存儲時區信息
(3)從Oracle 9i開始INTERVAL類型,它支持存儲時間差,并且可以與DATE或者TIMESTAMP加法運算以生成一個新的DATE或者TIMESTAMP
使用SYSDATE選擇當前的系統時間,返回DATE類型的值,是數據庫所在的操作系統的當前日期和時間
DATE類型的內部表示形式:執行select DUMP(sysdate) from dual;
Typ=13 Len=8: 218,7,3,23,11,27,11,0 結果中逗號分割的值對應于Oracle存儲日期和時間的每個部分,(從世紀到秒)所使用的字節
4、DATE對象與字符串之間進行轉換
TO_DAT()和TO_CHAR():這兩個函數都有三個參數,一個是要轉化的值,一個是可選的格式掩碼和一個用于指定語言的可選字符串
to
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') from dual;
select to_date('20100323','YYYYMMDD') from dual;
select ename, to_char(hiredate,'ddthMon,YYYY') from emp
where hiredate between
to_date('1980-01-01','YYYY-MM-DD')
and
to_date('1985-01-01','YYYY-MM-DD')
5、常用操作
把程序的數據存到數據庫中:
當程序中是String 類型時,SQL文應該用上
to_date(hiredate,'yyyy-mm-dd hh24:mi:ss')這樣放到數據庫中就是date類型
當程序中是Date類型時,必須先轉為String類型,利用
new SimpleDateFormate("yyyy-MM-dd hh:mm:ss").format(new Date())轉化
把數據庫中數據取出時
要使用to_char(hiredate,'YYYY-MM-DD HH24:MI:SS')變為String類型,
還可以繼續利用java.sql.Date.valueOf(String s)
將 JDBC 日期轉義形式的字符串轉換成 Date 值。
6、取得Oracle數據庫時間并存到Java中
從數據庫date取得并轉為java.util.Date類型
方法一: select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') as current_time from dual 取得字符串
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = format.parse(map.get("CURRENT_TIME"));解析后取得Date的類型: Sat Jul 03 13:32:46 CST 2010
format.format(dateString);然后再格式化成想要的格式字符串
format.format(dateString);將Date類型轉為想要的格式。但是類型為String。在想變回來時在用parse()方法.
方法一: select (sysdate - 8 / 24 - to_date('1970-01-01', 'yyyy-mm-dd')) * 86400000 current_milli from dual 取得java.math.BigDecimal類型
BigDecimal b = (BigDecimal)dateMap.get("CURRENT_MILLI");
Long dateLong = b.longValue();
new Date(dateLong);取得Date對象,可以處理
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的oracle时间类型转化成java对象_Oracle数据库date类型与Java中Date的联系与转化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Atom如何使用?Atom的介绍与使用方
- 下一篇: java floatmath_《Java