以下是对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的联系与转化相关推荐

  1. oracle 调用java 类_oracle数据库PL SQL调用Java类程序代码

    作为JAVA程序员,对ORACLE的javasource一直是想找个机会下手的.呵呵!风高月夜,此时正下手之机. Oracle有提供一个叫"外部例程"来实现与其他编程语言的访问.例 ...

  2. MyBatis对于Java对象里的枚举类型处理

    平时咱们写程序实体类内或多或少都会有枚举类型属性,方便嘛.但是mybatis里怎么处理他们的增删改查呢? 要求: 插入的时候,会用枚举的定义插入数据库,我们希望在数据库中看到的是数字或者其他东西: 查 ...

  3. java 不兼容类型_JAVA不兼容的类型:无法将对象转换为我的类型

    我试图通过在单独的线程上进行工作并返回所需的对象来对JavaFX中的GUI进行更改.但是,在完成工作和task.setOnSucceeded()之后,我尝试检索创建的对象并得到错误"不兼容的 ...

  4. java对象流保存表格,序列化表格 (Java 2 Platform SE 5.0)

    此字段有两种可能的解释: startMode == DOW_IN_MONTH startDay 指示夏令时是在 startMonth 月份中的哪个日期开始的,该日期可以是从 1 到 28.30 或 3 ...

  5. java对象添加字段_99.9%的Java程序员都说不清的问题:JVM中的对象内存布局?

    在 Java 程序中,我们拥有多种新建对象的方式.除了最为常见的new语句之外,我们还可以通过反射机制.Object.clone方法.反序列化以及Unsafe.allocateInstance 方法来 ...

  6. java对象流保存表格_使用java对象

    <21天学通Java(第7版)>-- 1.3 对象和类 本节书摘来异步社区<21天学通Java(第7版)>一书中的第1章,第1.3节,作者: [美]Rogers Cadenhe ...

  7. java对象转xml 高性能_xml与java对象的快速互转

    做流程图的项目时,新的流程定义为xml的,需要对xml与java对象进行互转 查了一下activiti的转换xml方式,发现转换太麻烦了,需要一步步的解析xml 后面发现直接用jaxb就可以很快实现互 ...

  8. java 后端如何处理数据库字段类型为Json格式的方法

    1.首先是写方法生成一个自定义转换器 import com.alibaba.fastjson.JSONObject; import org.apache.ibatis.type.BaseTypeHan ...

  9. java 对象之间转换_浅谈java对象之间相互转化的多种方式

    浅谈java对象之间相互转化的多种方式,对象,属性,参数,赋值,不支持 浅谈java对象之间相互转化的多种方式 易采站长站,站长之家为您整理了浅谈java对象之间相互转化的多种方式的相关内容. 第一种 ...

最新文章

  1. 用 Git 和 Github 提高效率的 10 个技巧!
  2. androidstudio调试android 源码 jni,在android studio下配置gradle用ndk-build和ndk-gbd编译调试JNI...
  3. Windows自动启动程序的十大藏身之所
  4. multiprocessing多进程(31-04)创建进程的两种方式
  5. 一次线上redis报障处理过程
  6. Colaboratory下载Kaggle数据
  7. 微信小程序 rpx和px转换
  8. 使用eclipse开发javaweb注册功能
  9. 他是奥运会银牌获得者,还是世界知名数学家,他的家族让世界为之倾倒
  10. 【个人重点】开发中应该重视的几点
  11. 天津市全国计算机等级报名时间,天津市2018年全国计算机等级考试报名时间及地点...
  12. 成为高级测试人:软件测试工程师职业素养
  13. 不会真有人觉得聊天机器人难吧——开篇
  14. 前端页面的适配使用rem换算---rem详解
  15. 【JZOJ A组】时空幻境
  16. gb28181协议java_gb28181开发源码
  17. bootstrap-toastr 消息通知插
  18. AArch64架构内存布局及线性地址转换
  19. springboot bootcdn使用
  20. flink学习(五)DataStream API

热门文章

  1. 特征工程(part2)--数值型数据
  2. Django从理论到实战(part15)--自定义path转换器
  3. created不能异步_mpvue里created里异步请求结果,如何在beforeMount里获取到呢
  4. mac版python安装pandas_Mac OS 安装pandas
  5. 数据结构-常用的查找算法
  6. 如何给 SAP Fiori Elements 应用的字段添加 value help
  7. ABAP事物码SFW5里business function前面的双箭头图标是什么含义
  8. 如何操作SAP UI5应用Footer区域工具栏按钮的背景颜色
  9. Spring 基于注解(annotation)的配置之@Required注解
  10. SAP Hybris和ABAP Netweaver里的DAO(Data access object)