`

java.sql.Date 和 java.sql.TimeStamp 时间格式存储问题

 
阅读更多

转:java.sql.Date 和 java.sql.TimeStamp 时间格式存储问题

向数据库中插入时间属性,

[java] view plaincopy
  1. SimpleDateFormat simpleTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义日期格式  默认时间格式:yyyy-MM-dd HH:mm:ss  
  2. //SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd");  
  3. String passTime = pwoEditForm.getPasstime();  
  4. java.util.Date passUtilDate = simpleTime.parse(passTime);  
  5. java.sql.Date passSqlDate = new java.sql.Date(passUtilDate.getTime());  
  6. pwOrder.setPasstime(passSqlDate);  

数据插入了,但是并没有按照定义好的yyyy-MM-dd HH:mm:ss格式插入,而是yyyy-MM-dd的格式,导致时分秒数据丢失!

以下是数据库中查询的系统时间格式:
  1. --alter session set NLS_date_format ='yyyy-mm-dd hh24:mi:ss';  
  2. select sysdate from dual;  
  3. --2011-9-23 18:35:53  

经过测试java.sql.Date只能取出年月日,而时分秒是取不到的。
所以改用java.sql.TimeStamp来处理,如下:

[java] view plaincopy
  1. SimpleDateFormat simpleTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义日期格式  默认时间格式:yyyy-MM-dd HH:mm:ss  
  2. //SimpleDateFormat simpleDate = new SimpleDateFormat("yyyy-MM-dd");  
  3. String passTime = pwoEditForm.getPasstime();  
  4. java.util.Date passUtilDate = simpleTime.parse(passTime);  
  5. java.sql.TimeStamp passSqlDate = new java.sql.TimeStamp(passUtilDate.getTime());  
  6. pwOrder.setPasstime(passSqlDate);  
这样插入数据库有就是完整的格式了。

要求java实体类定义时,也要将相关字段定义为java.sql.TimeStamp类型即可,当然hibernate对应的type也要写成timestamp

 

---------------------------------------------------------------------2012.02.09 Timestamp时间戳类的格式处理 --------------------------------------------------------------------------------

[java] view plaincopy
  1. long currTime = System.currentTimeMillis();  
  2. Timestamp timeObj = new Timestamp(currTime);            //yyyy-MM-dd HH:mm:ss:mis  
  3. //System.out.println("timeObj----->"+timeObj);          //timeObj----->2012-02-09 14:56:55.401  
  4. String gjsj = timeObj.toString().substring(0,19);       //yyyy-MM-dd HH:mm:ss  
  5. //System.out.println("gjsj----->"+gjsj);                //gjsj----->2012-02-09 14:56:55  
分享到:
评论

相关推荐

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx

    - **`java.util.Date`**:这个类提供了创建和操作日期/时间的功能,它能够存储完整的日期和时间信息(包括小时、分钟、秒和毫秒)。 - **`java.sql.Date`**:这是一个专门用于数据库操作的日期类,继承自`java.util....

    java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf

    Java.util.Date与java.sql.Date的互转及字符串转换为日期时间格式 java.util.Date和java.sql.Date是Java中两个常用的日期时间类,分别属于不同的包。java.util.Date是Java标准库中的日期时间类,而java.sql.Date是...

    java.sql.date与java.util.date.pdf

    `java.util.Date`和`java.sql.Date`的主要区别在于,`java.util.Date`包含了完整的日期和时间信息,而`java.sql.Date`仅关注日期部分,适用于数据库中仅存储日期的场景。在处理数据库操作时,选择正确的日期类型可以...

    java.sql.与java.util

    Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...

    Java.util.date与java.sql.date区别和转换

    类型转换 ( Java.util.date与java.sql.date区别和转换

    mysql时间类型对应的java类型1

    在IT领域,数据库管理和编程语言之间的数据类型对应关系是至关重要的。本文将深入探讨MySQL数据库中的时间类型以及它们在...在实际应用中,还要注意处理时区差异、日期时间格式化以及数据库与Java之间的兼容性问题。

    有关java中的Date,String,Timestamp之间的转化问题

    Java 中的日期和时间处理是编程中非常重要的一方面,Date、String 和 Timestamp 是三种常用的日期和时间类型,本文将详细介绍它们之间的转换问题。 一、获取系统当前时间 在 Java 中,可以使用以下三种方法来获取...

    Javautildate与javasqldate区别和转换[文].pdf

    `java.util.Date` 是Java标准库中一个基础的日期类,它包含了日期和时间信息,精确到毫秒。你可以通过`getTime()`方法获取自1970年1月1日00:00:00 GMT以来的毫秒数。这个类通常用于处理各种日期和时间相关的任务,...

    java四种时间的区别和联系

    `java.sql.Timestamp`同样是为了数据库交互而设计,但它包含了完整的日期和时间信息,甚至包括纳秒级的精度。`java.sql.Timestamp`继承自`java.util.Date`,并且额外提供了获取纳秒的方法`getNanos()`。这意味着`...

    Android的SQLite中DateTime类型数据的存取问题

    在存储时,需要使用 java.sql.Timestamp 将 java.util.Date 类型数据转换成 Timestamp 对象。取出时,需要使用 String 类型来取出日期类型数据,然后使用 SimpleDateFormat 将其解析成 java.util.Date 类型。本文...

    浅谈java中六大时间类的使用和区别

    Java提供了多种时间类来满足不同的需求,包括`java.util.Date`, `java.sql.Date`, `java.sql.Time`, `java.sql.Timestamp`, `java.text.SimpleDateFormat`, 和 `java.util.Calendar`。下面我们将深入探讨这些类的...

    java中时间格式的转换.docx

    ### Java中时间格式的转换详解 #### 一、概述 在Java编程中,对日期和时间的操作是非常常见的需求之一。特别是在处理用户输入、文件记录、数据库交互等方面,我们需要能够灵活地将日期时间从一种格式转换到另一种...

    DateUtil.java

    将java.sql.Date类型格式化成字符串显示; 将Timestamp类型格式化成字符串显示 将字符串转换成java.util.Date类型 将字符串转换成java.sql.Date类型 将字符串转换成Timestamp类型 比较两个时间的时间差,返回格式为x天...

    java中日期格式的转换

    在Java编程语言中,日期和时间的处理是...通过上述示例,我们可以看到Java提供了丰富的工具和API来处理日期和时间的格式化与转换,这些技术在日常开发中极为常见,掌握它们对于任何Java开发者而言都是必不可少的技能。

    项目源码-java图书馆管理系统

    import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import ...

    PreparedStatement 向数据库插入时间方法

    关键在于正确地将`java.util.Date`转换为`java.sql.Date`或`java.sql.Timestamp`,以便能够被`setDate()`和`setTimestamp()`方法所接受。这种方法不仅可以避免类型不匹配的错误,还可以确保数据被准确无误地插入到...

    oracle数据类型和对应的JDBC类型.pdf

    DATE 对应的 JDBC 类型是 java.sql.Types.DATE,Java 类型是 java.sql.Date。TIMESTAMP 对应的 JDBC 类型是 java.sql.Types.TIMESTAMP,Java 类型是 java.sql.Timestamp。 4. 二进制类型 RAW 对应的 JDBC 类型是...

    sqlserver数据库类型对应Java中的数据类型

    在 Java 中,timestamp 对应的数据类型是 java.sql.Timestamp。 varbinary 在 SQL Server 中,varbinary 是一个二进制类型,用于存储变长二进制数据。在 Java 中,varbinary 对应的数据类型是 byte 数组。 ...

    Java 时间日期详细介绍及实例

    `java.text.DateFormatSymbols`类提供了本地化的日期和时间格式元素,如星期名、月份名等,有助于创建符合特定地区习惯的日期时间格式。 在实际使用中,通常会根据需求选择合适的类。例如,如果只需要日期部分,...

Global site tag (gtag.js) - Google Analytics