`
wangyanlong0107
  • 浏览: 499788 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Oracle数据库date类型与Java中Date的联系与转化

 
阅读更多

转自:http://blog.csdn.net/tiaozhanzhe0321/article/details/5713138

以下是对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数据库应用开发基础

    Oracle数据库应用开发基础是IT领域中的重要组成部分,它涉及到如何使用Oracle数据库系统进行高效的数据存储、管理和应用程序开发。Oracle数据库是世界上最广泛使用的数据库之一,尤其在企业级应用中占据主导地位。...

    SQL Server导入Oracle数据库

    本主题将深入探讨如何将数据从SQL Server导入到Oracle数据库,这涉及到多个步骤和技术。以下是对这个过程的详细解析: 首先,理解SQL Server和Oracle是两种不同的关系型数据库管理系统(RDBMS)。SQL Server由微软...

    Oracle数据库学习日记

    ### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect 数据库连接命令** - **Connect**: 使用 `connect` 命令可以连接到Oracle数据库。语法通常为 `connect ...

    实现ORACLE与SQLSERVER数据库间的数据抽取与转换工具

    对于Oracle数据库,我们可以使用PL/SQL语句或者Oracle的SQL*Plus工具来实现。在SQL Server中,我们可以利用T-SQL语言进行数据检索。 接下来是数据转换,这个阶段的目标是将从源数据库抽取的数据转化为目标数据库...

    Oracle Sql语句转换成Mysql Sql语句

    在使用这个工具时,开发者需要确保源代码中的SQL语句是标准的Oracle SQL格式,避免使用特定Oracle数据库的特性,以提高转换的成功率。同时,转换后还需要对生成的MySQL SQL进行测试,确保在目标数据库环境中能正常...

    各大数据库类型与JDBC中介数据类型的转换对比

    在进行数据库开发时,了解不同数据库管理系统(DBMS)的数据类型及其与Java Database Connectivity (JDBC)中的数据类型的对应关系至关重要。这有助于确保数据能够在Java应用程序与不同数据库之间正确、高效地传输。...

    最新JAVA面试题总结之数据库.docx

    Oracle 中经常使用到的函数包括 Length 长度、lower 小写、upper 大写、to_date 转化日期、to_char 转化字符、Ltrim 去左边空格、substr 取字符串、add_month 增加或者减掉月份、to_number 转变为数字等。...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    ### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect 数据库连接命令** - **Connect**: 使用 `connect` 命令可以连接到Oracle数据库。语法通常为 `connect ...

    利用kettle的api运用Java代码完成数据转换到excel和数据库源码

    利用 Kettle 的 API 运用 Java 代码完成数据转换到 Excel 和数据库源码 Kettle 是一个开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定。Kettle 中有两种脚本文件,transformation 和 job,...

    三层架构Delphi+Java+Oracle模式的实现

    3. **大对象字段处理**:Oracle数据库中的CLOB和BLOB类型数据需要特殊的处理方式,以确保在Delphi客户端和Java服务端之间的正常传递。 4. **业务逻辑调用**:Delphi客户端如何远程调用Java端定义的业务逻辑,也是...

    etl.RAR_etl_etl oracle mysql_mysql的 etl函数_oracle_oracle向mysql e

    在将Oracle数据迁移到MySQL时,可能需要特别关注数据类型的对应,比如Oracle的NUMBER类型在MySQL中可能是DECIMAL或INT,DATE类型在MySQL中需要转化为日期字符串格式。此外,还需要处理Oracle特有的约束和索引,以...

    数据库信息管理系统-JAVA实现.doc

    本系统采用JAVA语言进行实现,结合数据库原理与设计方法,旨在提供一个高效、可靠的图书管理信息平台。 一、需求说明 1. 任务概述 这个项目的主要任务是构建一个基于JAVA的图书管理信息系统,用于存储、检索和管理...

    oracle,mysql表格转换mybatis相关文件

    例如,Oracle和MySQL的日期时间类型可能需要转换为Java的Date或Timestamp对象。MyBatis使用#{param}来绑定参数,而结果集映射(ResultMap)则用于将数据库查询结果转换为Java对象。 接下来,我们讨论MyBatis的动态...

    20个常用的Java程序块.doc

    在Java中,`java.util.Date`类型可以很容易地转化为`java.sql.Date`类型,后者主要用于数据库操作。只需通过构造函数即可完成转换: ```java java.util.Date utilDate = new java.util.Date(); java.sql.Date sql...

    JSP Oracle 新闻发布 示例

    在IT行业中,JSP(JavaServer Pages)与Oracle数据库的结合常常用于构建动态、高性能的Web应用程序,特别是在新闻发布系统中。本示例将详细探讨如何利用JSP技术和Oracle数据库来设计一个新闻发布系统,帮助你理解这...

    java实用例子.pdf

    连接Oracle数据库通常需要加载Oracle JDBC驱动,然后创建数据库连接。以下是一个示例: ```java public class OracleJdbcTest { String driverClass = "oracle.jdbc.driver.OracleDriver"; Connection con; ...

    java-Oracle概要.docx

    Java-Oracle概要 Oracle 基础知识一、数据库标准语言结构化查询语言 SQL: 1. 数据定义语言 DDL:Data Definition Language - create table:创建表结构 - alter table:修改列 - drop table:删除列 2. 数据...

    数据库设计--报刊订阅管理系统(有关数据库的课程设计)

    在本项目中,可能涉及的数据库类型是关系型数据库,如MySQL或Oracle,因为它们支持结构化数据,并且易于理解和使用。 设计数据库的第一步是需求分析。在这个阶段,我们要确定系统需要处理哪些数据,比如用户信息...

    Java经典理论面试100题.pdf

    7. **序列化**:Java序列化是将对象转化为字节流的过程,以便于存储或在网络上传输。实现序列化的类需实现`Serializable`接口。 8. **多态**:Java中实现多态的条件是子类继承父类或实现父接口,并且重写父类的方法...

Global site tag (gtag.js) - Google Analytics