当前位置: 首页 > 面试题库 >

字符串-> java.util.Date-> java.sql.Date(带时间戳)

蒲寂离
2023-03-14
问题内容

这是我的问题:我有一个用户输入日期,例如:2012-12-24(字符串)我将一个时间连接到该字符串,然后转换为java.util.Date我的代码如下:

String tempstartdate = startdte;  //startdte is the string value from a txtfield
       tempstartdate += " 00:01:00";
       String tempenddate = startdte;
       tempenddate += " 23:59:59";

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");               
       java.util.Date validstartdte = null;
        java.util.Date validenddte = null;

validstartdte = df.parse(tempstartdate);  //validstartdte is a util.Date (and works)
validenddte = df.parse(tempenddate);

我的问题是,当我使用该util.Date并将其设置为sql.Date时:

java.sql.Date sqlstartDate = new java.sql.Date(validstartdte.getTime());
java.sql.Date sqlendDate = new java.sql.Date(validenddte.getTime());

它不会给我分配的时间戳,只会以yyyy-MM-dd格式返回日期(例如2012-12-23)。

为什么!?我好沮丧
注意:我注意到当我使用断点时,我能够展开sqlendDate并看到其中有一个名为cdate的值,该值返回:2012-12-12T23:59:59.000-0500我正在使用的数据库是PostgreSQL。

请帮忙!非常感激。


问题答案:

java.sql.Date 没有时间。

使用java.sql.Timestamp代替。



 类似资料:
  • 问题内容: 我得到一个在一个表上(重复键)违反唯一性约束。本质上,我的表如下所示: 唯一性约束在上;也就是说,没有2条记录可以具有相同的日期/时间“时间戳”。 在将记录插入该表如下所示: 因此,您可以看到我正在使用(“现在”)并将其转换为实例。 我看到的确切错误(重复键)一直抱怨我试图将其插入表中,但该错误已经存在。因此,很明显,我使用了错误的Date API,并且插入了具有无效时间成分的日期,从

  • 问题内容: :什么时候使用,为什么? 问题答案: 恭喜,你已经使用JDBC达到了我最喜欢的功能:Date类处理。 基本上,数据库通常至少支持三种形式的日期时间字段,即日期,时间和时间戳。它们每个在JDBC中都有一个对应的类,并且每个都进行了扩展。这三个中的每个的快速语义如下: 对应于SQL DATE,这表示它存储年,月和日,而时,分,秒和毫秒被忽略。此外,sql.Date它与时区无关。 对应于SQ

  • 问题内容: 我意识到这已经被问了很多。我确实看过。我花了几个小时环顾四周,并试图解决这个问题。我应该编写一个程序,该程序在数据库中存储相当于约会列表的内容,并包含描述,日期,开始时间和结束时间。它必须接受用户的输入才能添加或取消约会,据我所知,这意味着我需要将字符串转换为日期。 这些是我的导入:import java.io.File; 导入java.io.IOException; 导入java.s

  • 问题内容: 我需要将时间戳字符串转换为。例如: 至 这里是月,日期,年,小时,分钟和秒。 问题答案: 您 可以 这样做: 但我 强烈 建议您改用Joda Time。从长远来看,它是一个更好的日期/时间库。特别是,Joda Time中的格式化程序/解析器是线程安全的,因此您可以自由和静态地重用它们。 不是 线程安全的,因此您需要为每个线程创建一个线程,或使用一个块序列化对其的访问。

  • 问题内容: 我想转换为,但是我也想要小时,分钟和秒,但是java.sql.Date只能用于存储date(没有时间)。我尝试了下面的代码,但它只给出对象的年,月和日。 电流输出: 所需的输出: 问题答案: 该类型仅用于存储日期(无时间)信息,因为它映射到不存储时间的SQL 类型。其方法的作用是: 以日期转义格式yyyy-mm-dd格式化日期。 要获得所需的输出,可以使用,它存储日期 和 时间信息,并

  • 问题内容: 我在函数上发现错误,从DatatypeFactory df初始化newInstance()方法后,它显示错误结果,我得到了另一个错误: 我只是将包裹名称从 然后投射: 问题答案: 这是不可能的 投 自到。您需要从一种类型 转换 为另一种类型: