Java日期转换到Oracle与SQL数据库格式
"Java日期转换涉及java.util.Date、java.sql.Date、java.sql.Time以及java.sql.Timestamp四个类,它们分别代表不同的日期和时间概念。在与Oracle数据库或SQL Server交互时,需要选择适当的类进行日期格式的转换。系统时间是基于1970年1月1日00:00:00 GMT的毫秒数,而时间区的差异会影响日期的显示。日期字符串转日期对象通常使用SimpleDateFormat类进行解析和格式化。" 在Java中处理日期和时间时,有多个类可供选择,其中最常见的包括`java.util.Date`、`java.sql.Date`、`java.sql.Time`和`java.sql.Timestamp`。这些类分别对应不同的日期和时间表示: 1. `java.util.Date`:这个类表示自1970年1月1日00:00:00 GMT以来的毫秒数,包含了日期和时间信息。但通常在数据库操作中,我们不直接使用它,因为它包含了日期和时间的完整信息。 2. `java.sql.Date`:这是专门为数据库操作设计的日期类,只包含日期部分,不包含时间信息。在与Oracle数据库交互时,通常使用此类来存储日期数据。 3. `java.sql.Time`:仅表示一天中的时间,不包含日期。如果在Oracle数据库中只需要存储时间部分,可以使用此类。 4. `java.sql.Timestamp`:包含了完整的日期和时间信息,精度到纳秒,适合存储SQL Server中的DateTime类型数据。 在进行日期格式的转换时,常常会用到`java.text.SimpleDateFormat`类。例如,将一个符合特定格式的日期字符串转换为`java.util.Date`对象: ```java SimpleDateFormat f_utilDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { java.util.Date utilDate = f_utilDate.parse("2011-5-31 14:40:50"); System.out.println(f_utilDate.format(utilDate)); } catch (ParseException e) { e.printStackTrace(); } ``` 这里,`SimpleDateFormat`创建了一个实例,指定了日期/时间的格式,然后通过`parse()`方法将字符串解析成`java.util.Date`对象,最后使用`format()`方法将日期对象格式化回字符串。 如果需要将`java.util.Date`对象转换为`java.sql.Date`或`java.sql.Timestamp`,可以通过以下方式: ```java java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); java.sql.Timestamp sqlTimestamp = new java.sql.Timestamp(utilDate.getTime()); ``` 这里,`getTime()`方法获取了`java.util.Date`的毫秒值,然后传递给`java.sql.Date`和`java.sql.Timestamp`的构造函数,创建了相应的日期或时间对象。 系统时间和时间区是处理日期和时间时需要考虑的另一个重要因素。系统时间是以1970年1月1日00:00:00 GMT为起点的毫秒数,但不同地区可能存在时区差异。例如,如果你在北京(东八区),那么你的系统时间会比GMT早8小时。在进行日期转换或展示时,需要考虑这些时区差异,以确保日期和时间的正确性。 Java提供了丰富的日期和时间处理类,但在与数据库交互时,需要根据具体的数据库类型和字段类型选择合适的日期类,并使用`SimpleDateFormat`进行格式转换。同时,了解系统时间和时区的概念对于处理日期和时间问题至关重要。
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时,系统时间与本地时间相同]
我们使用的是以本地时间为参考标准的
------------------------------------------
下载后可阅读完整内容,剩余4页未读,立即下载
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展