我正在使用Java JDBC将日期写到SQL Server 2008,然后将其读回。
回读的日期始终比实际写入的日期早两天。
我正在使用准备好的语句插入包含Date字段的行。日期值由以下人员提供:
java.sql.Date todaysDate = new java.sql.Date(System.currentTimeMillis()) ;
System.out.println(todaysDate.toString()) // -> 2012-07-02
ps.setDate(8, todaysDate);
将日期写入数据库后,如果运行,SQL Server将向我显示正确的日期:
select date from table_name where date!=null // ->2012-07-02
如果我通过JDBC运行相同的查询,则使用以下命令从结果集中检索日期值
java.sql.Date sqlDate = rs.getDate("date") ;
sqlDate.toString() // ->2012-06-30
插入的行是表中唯一具有非空日期的行,因此这似乎不是读取错误记录的情况。
我以为这将是一个众所周知的问题,但是我只能通过Google搜索找到的关于“两天假”问题的唯一参考资料没有明确的答案。
有任何想法吗?
卑鄙的(过去的生活)
原来问题出在MS
JDBC驱动程序。我尝试了日期类型和日期转换的所有可能组合,但没有任何效果。经过大量搜索(首先应该做的是!),我看到一条关于较旧的SO条目)的评论,该条目暗示问题是Microsoft的版本3
JDBC驱动程序。我得到了最新的驱动程序版本4.something,问题消失了。
感谢所有尝试提供帮助的人。特别感谢Mike抽出宝贵时间发布解决方案。
-=强壮
我正在使用JavaJDBC将日期写入SQLServer2008,然后将其读回 读回的日期始终比实际写入的日期早两天。 我正在插入包含日期字段的行,其中包含准备好的语句。日期值由以下人员提供: 将日期写入数据库后,如果我运行以下命令,SQL server将显示正确的日期: 如果我通过JDBC运行相同的查询,然后使用以下方法从结果集中检索日期值 插入的行是表中唯一具有非空日期的行,因此这似乎不是读取错
我正在构建一个反向代理服务器,它将授权http请求并将其传递给一些内部API。 我根据DB中的条目授权传入请求。 这个项目中的性能是优先的——反向代理服务器不应该增加太多响应时间。 简而言之: 我正在使用来查询数据库。我在Spring配置中的init期间打开Hibernate会话: 然后我将会话注入DAO层,并在read方法中使用它: 正如您所看到的,我并不是在每次DAO调用中都关闭/打开会话。我
问题内容: 在Objective-C for Cocoa Apps中,可以使用这种方式使窗口始终位于顶部吗? 如何用Swift实现相同的目标? 导致构建错误 问题答案: 要更改窗口级别,您不能在viewDidload中执行此操作,因为视图的window属性始终在那里为零,但是可以通过覆盖viewDidAppear方法或IBAction方法来实现: 斯威夫特1 迅捷2 迅捷3 斯威夫特4 最后,他们
我想一直保持横向模式。我在Nexus7上将屏幕锁定为纵向模式,在AndroidManifest中设置android:screenOrientation=“Sensor横向”和android:configChanges=“orientation | keyboardHidden”。xml,当我转到其他活动并返回到此活动时,屏幕将再次旋转纵向和横向(没有再次调用onCreate方法),但我不想在任何情
这是我的html表单: 这是DTO 这里的日期是 此外,当我导入一个JSON文件时,我有一个用户数组,我能够成功地运行它。 我错过了什么? 注意:java.util.date起作用!
如果我打开活动,复选框始终保持选中状态,即使我取消选中它并离开活动或关闭应用程序,在重新启动活动后,它也将保持选中状态。 我已尝试使用以下代码段保存活动的状态。 复选框应始终处于用户离开它的状态(选中或未选中)。