`

【转载】java/oracle日期处理

阅读更多
public class Test{
        public static void main (String args []){              
                java.util.Date a = new java.util.Date();
                System.out.println(a);
                java.sql.Date b = new java.sql.Date(a.getTime());
                System.out.println(b);
                java.sql.Time c = new java.sql.Time(a.getTime());
                System.out.println(c);
                java.sql.Timestamp d=new java.sql.Timestamp(a.getTime());
                System.out.println(d);
        }
}

 

结果:

Mon Apr 03 18:00:34 CST 2006
2006-04-03
18:00:34
2006-04-03 18:00:34.388

 

1.         oracle 的系 统时间 就是 sysdate 函数, 存的数据形如 25-3- 2005 10:55:33
2.         java 中取 时间 是java.util.Date
3.         oracle 对应的 时间对 是java.util.Date java.sql.Time java.sql.Timestamp 它们都是 是java.util.Date的子
4.         oracle date操作 系最大的就是两个 转换 函数: to_date(),to_char() to_date() 一般用于写入日期到数据库时用到的函数。 to_char() 一般用于从数据库读入日期时用到的函数。
 
DATE TIME TIMESTAMP
SQL 定义了三种与时间有关的数据类型: DATE 由日、月和年组成。 TIME 由小时、分钟和秒组成。 TIMESTAMP DATE TIME 结合起来,并添加了纳秒域。
标准 Java java.util.Date 可提供日期和时间信息。但由于该类包含 DATE TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。
因此我们定义了 java.util.Date 的三种子类。它们是:
1.       有关 SQL DATE 信息的 java.sql.Date
2.       有关 SQL TIME 信息的 java.sql.Time
3.       有关 SQL TIMESTAMP 信息的 java.sql.Timestamp
对于 java.sql.Time java.util.Time 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 java.sql.Date java.util.Date 基本类的年、月和日域被分别设置为 1970 1 1 日。这是在 Java 新纪元中的 日期。 java.sql.date 中的日期可以和 准的 SQL 句中含有日期的字段 行比 . java.sql.Timestamp 类通过添加纳秒域来扩展 java.util.Date
 
oracle 两个转换函数:
1.       to_date() 作用将字符类型按一定格式转化为日期类型:
具体用法 :to_date(''2004-11-27'',''yyyy-mm-dd''), 前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如 ;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间。
2.       to_char():将日期 按一定格式 成字符
具体用法 : to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'')
 
to_date() 24 制表示法及 mm
在使用 Oracle to_date 函数来做日期 转换时 ,很多 Java 程序 会直接的采用 “yyyy-MM-dd HH:mm:ss” 的格式作 格式 转换 ,但是在 Oracle 中会引起 错误 “ORA 01810 格式代 两次
如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;
原因是 SQL 中不区分大小写, MM mm 认为 是相同的格式代 ,所以 Oracle SQL 采用了 mi 代替分  oracle默 的系 统时间 就是sysdate函数, 存的数据形如2005-3-2510:55:33 java 中取 时间 是java.util.Date
select to_date('2005-01-01 13:14:20 ','yyyy-MM-dd HH24:mi:ss') from dual
 
java oracle 的操作中,对日期字段操作的例子:
book 中有 name varchar2(20)// 书籍名称 ,buydate Date // 购买日期 两个字段。
已经创建了数据库连接 Connection conn;

方法一、使用 java.sql.Date 实现比较简单的 yyyy-mm-dd 格式日期。 java.sql.Date 不支持时间格式。切记不要使用 new java.sql.Date(int year,int month,int date), 因为还要处理时间差问题。
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Date buydate=java.sql.Date.valueOf("2005-06-08");
pstmt.setString(1, "Java 编程思想 ");
pstmt.setDate(2,buydate );
pstmt.execute();
方法二、使用 java.sql.Timestamp, 同上不使用 new Timestamp(....)
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,?)");
java.sql.Timestamp buydate=java.sql.Timestamp.valueOf("2004-06-08 05:33:99");
pstmt.setString(1, "Java 编程思想 ");
pstmt.setTimestamp(2,buydate );
pstmt.execute();
方法三、使用 oracle to_date 内置函数
PreparedStatement pstmt = conn.prepareStatement("insert into book (name,buydate) values (?,to_date(?, 'yyyy-mm-dd hh24:mi:ss')");
String buydate="2004-06-08 05:33:99";
pstmt.setString(1, "Java 编程思想 ");
pstmt.setString(2,buydate );
pstmt.execute();

:oracle 日期格式参数含义说明
d: 一周中的星期几
day: 天的名字,使用空格填充到 9 个字符
dd: 月中的第几天
ddd: 年中的第几天
dy: 天的简写名
iw: ISO 标准的年中的第几周
iyyy:ISO 标准的四位年份
yyyy: 四位年份
yyy,yy,y: 年份的最后三位,两位,一位
hh: 小时,按 12 小时计
hh24: 小时,按 24 小时计
mi:
ss:
mm:
mon: 月份的简写
month: 月份的全名
w: 该月的第几个星期
ww: 年中的第几个星期
分享到:
评论

相关推荐

    linux快速安装jdk1.8方式及环境变量配置

    jdk下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html **注:安装之前先查看一下系统有没有已经安装的版本 查看当前系统jdk的版本:java -version 如果有先卸载,查看jdk目录文件yum ...

    java连接oracle数据库jar包

    Java连接Oracle数据库主要依赖于JDBC(Java Database Connectivity)技术,这是Java平台中用于与各种数据库进行交互的一套标准API。Oracle公司提供了JDBC驱动,使得Java程序能够方便地访问Oracle数据库。在Java中...

    Jdk8下载(附:官网下载地址)

    要下载JDK8,可以访问Oracle官方提供的链接:[https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)。...

    java导出oracle数据(单表)

    该资源提供了一个完整的示例代码,展示了如何使用 Java 语言连接 Oracle 数据库,执行导出操作,并处理可能出现的错误。 知识点 1:Java 连接 Oracle 数据库 在 Java 中连接 Oracle 数据库需要使用 JDBC (Java ...

    Java连接Oracle数据库的各种方法

    Java连接Oracle数据库主要依赖于两种方法:JDBC和SQLJ。这两种方法都是Oracle8i及其后续版本中为Java开发者提供的数据库交互方式。 JDBC(Java Database Connectivity)是一种标准的Java API,它允许Java应用程序...

    Java操作Oracle数据库(建表,插数据,删除)

    Java 操作 Oracle 数据库(建表,插数据,删除) Java 是一种广泛使用的编程语言,而 Oracle 数据库是一种功能强大且广泛使用的关系型数据库管理系统。在本文中,我们将探讨如何使用 Java 操作 Oracle 数据库,包括...

    java导出oracle数据(单表).pdf

    本例提供了一个使用 Java 导出 Oracle 数据的示例代码,涵盖了 Oracle 数据库的连接、exp 命令的使用、Process 类的使用、异常处理、StringUtil 工具类的使用、Log4j 日志记录和 Oracle 数据库的导入等知识点。

    oracle 在java中的事务处理和异常回滚。

    在Java编程中,Oracle数据库是常用的后端存储系统,而事务处理和异常回滚是确保数据一致性、完整性和可靠性的关键机制。以下是对这个主题的详细讲解。 首先,Oracle JDBC驱动程序是Java与Oracle数据库之间通信的...

    java对oracle数据库中blob字段的处理

    ### Java处理Oracle BLOB字段的基本方法 #### 1. 读取BLOB字段 在Java中,读取Oracle数据库中的BLOB字段通常通过`java.sql.Blob`类实现。这个类提供了多种方法来处理BLOB数据,例如`getBytes(long pos, int length...

    java连接oracle的jar包

    Java连接Oracle数据库主要依赖于Oracle提供的JDBC驱动,也称为ojdbc.jar包。这个驱动程序使得Java应用程序能够通过Java Database Connectivity (JDBC) API与Oracle数据库进行交互。Oracle JDBC驱动有多种类型,如 ...

    Java导出Oracle数据库数据

    Java 导出 Oracle 数据库数据 Java 是一种流行的编程语言,广泛应用于各种领域。Oracle 是一种关系数据库管理系统,广泛应用于企业级应用中。在实际项目中,数据备份和恢复是非常重要的工作。本文将介绍如何使用 ...

    初始环境变量

    C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Java\jdk1.7.0_15\bin;D:\oracle\product\10.2.0\db_1\bin;D:\Python;C:\Program Files (x86)\Intel\iCLS Client\;C:

    Java SE - Downloads | Oracle Technology Network | Oracle 中国.pdf

    2. 文件中提到了Java SE的最新版本是Java SE 16.0.2,这表明了Java SE版本的更新情况以及Oracle作为Java技术所有者对平台的持续发展和维护。 3. Oracle License、Binary License、Documentation License等术语指的...

    Portable PGP Java 源代码

    http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html JDK默认Policy只能支持位Key,GPG的密钥从1024-2048,所以必须扩展该Policy。具体安装方法参考文件中的ReadMe文件。

    java 连接oracle12c 的jar包

    在Java编程环境中,连接Oracle 12c数据库是常见的需求,尤其在开发企业级应用时。Oracle 12c是Oracle公司推出的最新版本的数据库管理系统,提供了许多性能优化和高级特性。然而,为了使Java应用程序能够顺利地与...

    Java调用oracle存储过程通过游标返回临时表

    总的来说,Java调用Oracle存储过程并通过游标返回临时表是一种常见的数据处理方式,它结合了数据库的强大功能和Java的灵活性,为复杂业务场景提供了高效解决方案。在处理大量数据时,正确地管理和使用游标至关重要,...

    JAVA 连接oracle数据库工程

    本项目“JAVA 连接oracle数据库工程”将详细阐述如何使用Java在MyEclipse环境下连接到Oracle数据库。 首先,我们需要理解Java与Oracle数据库之间的连接基础。Java通过JDBC(Java Database Connectivity)API与各种...

    java Oracle事务处理

    java 代码写的关于Oracle的 事务处理

    java连接oracle数据库

    ### 使用Java连接Oracle数据库 #### 一、简介与准备工作 在进行Java程序开发时,经常需要与数据库进行交互。Oracle数据库作为业界广泛使用的数据库之一,掌握如何使用Java连接Oracle数据库是一项重要的技能。本文...

    java连接oracle实例

    Oracle数据库作为全球领先的数据库管理系统之一,与Java结合可以实现高效的数据处理。本文将详细介绍如何使用Java来连接Oracle数据库,并通过示例代码进行具体说明。 #### 二、准备工作 在正式开始之前,我们需要...

Global site tag (gtag.js) - Google Analytics