【问题标题】:Playframework inserting wrong date in databasePlayframework在数据库中插入错误的日期
【发布时间】:2011-08-27 05:08:32
【问题描述】:

我遇到了一个奇怪的问题。在我的表单中,我使用的是 jQuery 日期时间选择器。这会生成一个类似05/23/2011 07:33 的字符串。

在我的 java 代码中,我使用 DateFormat 从该字符串中创建一个日期对象:

    System.out.println(execute);
    DateFormat df = new SimpleDateFormat("dd/MM/yyyy kk:mm");
    Date date = null;
    try {
        date = df.parse(execute);
    } catch (ParseException e) {
        e.printStackTrace();
    }

execute 是包含日期的字符串)。 在控制台中,println() 显示正确的日期。当我将模型的实例写入数据库时​​,我正在使用该日期对象。但是一旦我调用save()函数(来自模型),插入数据库的时间戳就完全错误了。

在这种情况下是:2012-11-05 07:33:00时间是正确的,但日期有时会超过一年!

你知道是什么原因造成的吗?

【问题讨论】:

    标签: java date timestamp playframework


    【解决方案1】:

    您确定您的日期格式为“dd/MM/yyyy kk:mm”吗?
    您得到日/月/年,但在“05/23/2011 07:33”中是月/日/年,不是吗?

    【讨论】:

    • @Sled: 试试“MM/dd/yyyy kk:mm”
    【解决方案2】:

    我遇到了类似的问题,因为 jQuery 日期时间选择器使用的日期格式与我的 Java 代码不同,这改变了要保存的日期。检查它:)

    【讨论】:

    • 日期格式在 JS 和 Java 中的标准化方式不同。和你一样,这让我发疯了,最后我为 CrudSiena 调整了 Jquery datetimepicker :)
    • 我还是想知道为什么???好像编写服务器和 web 应用程序的人不在同一时间和日期;)
    猜你喜欢
    • 2016-12-25
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-23
    • 2014-12-13
    • 2011-08-08
    • 2013-03-14
    相关资源
    最近更新 更多