在将日期保存到数据库时,我遇到一种非常奇怪的行为。在我的(Linux centOS

6.2)服务器上,我使用glassfish应用程序服务器(3.1.1-内部版本12)和Java(1.7.0_09),该应用程序是使用Java +

GWT开发的,并且使用PostgreSQL服务器(9.2.1)。在应用程序内部,有几个保存在数据库中的日期字段。日期字段使用datepicker(http://code.google.com/p/gwt-

datepicker,r30)。

db关系的date属性是日期类型(不是时间戳)。一些日期会在数据库的前一天保存。问题仅在间隔之间的日期发生,例如1968年3月31日至1968年10月27日之间,这使我想到了某种夏季时间问题。但是,由于例如在1969年没有发生这种情况,因此我无法很好地隔离问题。我试图找到发生问题的其他日期间隔。

例如,如果我在应用程序中选择19.05.1968,则在数据库中保存日期后,日期将另存为18.05.1968。

奇怪的是,我在另一台服务器上具有同一应用程序的另一种情况,并且对于相同的日期,它们可以正确保存。这使我认为问题可能取决于:

玻璃鱼配置;

java(java.util.Date实现吗?);

我缺少某种服务器配置

我试图将服务器的所有配置都设置为Europe / Rome(我的时区),但是没有任何设置。任何想法?我该如何解决或调查这个问题?

更新: 1968年是a年。这个问题也发生在1972年,这又是a年。总结: “保存日期前一天”问题发生在夏季时间日期间隔的leap年中。

创建日期对象的代码部分是:

Date d = dateField.getSelectedDate();

if (d != null) {

txtVal = DateTimeFormat.getFormat("dd/MM/yyyy").format(d);

}

dateField声明为:

transient private DatePicker dateField;

包是org.zenika.widget.client.datePicker.DatePicker(前面提到的gwt-

datepicker-r30),DateTimeFormat是指com.google.gwt.i18n.shared.DateTimeFormat

接受答案后进行更新:

我使用了这种解决方法:创建日期时,我使用以下代码:

final long hours12 = 12L * 60L * 60L * 1000L;

Date d = new Date(d1.getTime() + hours12);

java好过去前一天日期_Java-日期保存为前一天相关推荐

  1. java date只保留年月日_Java日期时间API系列14-----Jdk8中日期API类,日期计算1,获取年月日时分秒等...

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...

  2. java 错误日期转正确日期_Java日期格式转换-错误的月份

    我在用Java转换日期时遇到问题,不知道我要去哪里错了... String dateStr = "2011-12-15"; String fromFormat = "yy ...

  3. 6 日期字符串转日期_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  4. java date加一天_Java日期时间API系列15-----Jdk8中API类,java日期计算2,年月日时分秒的加减等...

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析 ,可以看出java8设计非常好,实现接口Temporal, Tempora ...

  5. java tostring格式化日期_java日期格式化SimpleDateFormat的使用详解

    日期和时间格式由 日期和时间模式字符串 指定.在 日期和时间模式字符串 中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素.文本可以使用单引 ...

  6. java日期减去天数得日期_Java日期添加天数,减去天数,日历

    java日期减去天数得日期 Sometimes while working on Java Date, we need to add or subtract some days from it. He ...

  7. java 包结构 枚举类_Java日期时间API系列6-----Jdk8中java.time包中的新的日期时间API类...

    因为Jdk7及以前的日期时间类的不方便使用问题和线程安全问题等问题,2005年,Stephen Colebourne创建了Joda-Time库,作为替代的日期和时间API.Stephen向JCP提交了 ...

  8. java数字转换为日期_Java 日期字符串date与数字long之间的转换

    public class SimpleDateUtil { // 短日期格式 public static String DATE_FORMAT = "yyyy-MM-dd"; // ...

  9. java年月日时分秒格式_Java 日期时间 LocalDate LocalTime LocalDateTime类

    // LoacalDate, LocalTime, LocalDateTime类// 不要使用构造器来构造LocalDate类的对象.实际上,应该使用LocalDate.now()静态工厂方法代表你调 ...

最新文章

  1. JS 新浪下拉菜单+jQuery
  2. Flask实战2问答平台-问答详情完成
  3. 使其正序排序 打印一串数字_JavaScript计数排序算法
  4. python数组追加_python向数组追加数据库
  5. 移动设备的界面设计尺寸
  6. MFC多文档中opencv处理图像打开、保存
  7. 服务器运行程序 网络错误怎么办,网站出现:ldquo;/rdquo;应用程序中的服务器错误。该如何解决?_已解决 - 阿里巴巴生意经...
  8. table内容超出宽度时隐藏并显示省略标记
  9. 2020 年 6 月编程语言排行榜,Rust 第一次进入榜单前 20。
  10. 三段式状态机的原理/代码/仿真,1001序列检测实例Verilog
  11. SaltStack 日志管理
  12. java计算机毕业设计劳务外包管理系统源码+系统+mysql数据库+lw文档
  13. c语言运算符的三大特性,逻辑运算符及其优先级,C语言逻辑运算符及其优先级详解...
  14. python爬取本地文本中的成语_Python爬取成语:从3字到12字
  15. Ubuntu下安装Genymotion安卓模拟器
  16. Java实现 LeetCode 55 跳跃游戏
  17. springboot自定义启动图标
  18. 蜜源如何快速做到月入过万
  19. 肝肠轴——看不见的Crosstalk
  20. [剑指Offer]斐波那契数列、跳台阶、兔子数量问题(递归、非递归)(Java)

热门文章

  1. 国庆节干什么最有意义
  2. 袁国勇院士团队纳米孔测序揭示人和禽流感病毒新型检测和监测靶点
  3. Microbiome:扩增子16S分析苏铁类植物微生物组
  4. 易生信高级转录组分析和数据可视化第9期课程开课啦!!
  5. QIIME 2用户文档. 11数据筛选Filtering data(2018.11)
  6. SourceTracker—微生物来源分析
  7. 计算机应用基础a,计算机应用基础A卷答案
  8. python使用sklearn中的make_blobs函数生成聚类(clustering)分析需要的仿真数据、matplotlib可视化生成的仿真数据
  9. R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(不同分组配置不同的箱体填充色+Brewer调色板)实战
  10. _catboost.CatBoostError: C:/Program Files (x86)/Go Agent/pipelines/BuildMaster/catboost.git/catboost