【问题标题】:Java date is showing in the wrong format when set to JQuery Datepicker设置为 JQuery Datepicker 时,Java 日期以错误的格式显示
【发布时间】:2014-12-29 14:07:13
【问题描述】:

我一直在寻找一些时间,但无法弄清楚,这让我很沮丧:)

我的表单上有一个 JQuery 日期选择器,它在 JSF 中以 Spring WEBMVC 作为背景呈现。当我在日期选择器上选择一个日期时,它显示为 yyyy-MM-dd (f.e. 2014-12-10),因为它是这样设置的:

   <script type="text/javascript">
       $(function() {
               $("#datepicker").datepicker({ dateFormat: "yy-mm-dd" }).val()
       });
   </script>

但是,从我的 Java.util.Date 类返回的默认日期将 DatePicker 的值设置为:

Wed Dec 10 00:00:00 EET 2014

我觉得这很烦人,我希望使用 Java 在日期选择器上设置的默认日期也显示为 yy-mm-dd。我该如何强制?

JSP:

        <th>Update Expected</th>
        <td>
            <form:input path="updateExpected" id="datepicker" />
            <br />
            <form:errors path="updateExpected" cssStyle="color: #ff0000;"/>
        </td>

我的 Java 底层很简单:

private Date updateExpected;

public Date getUpdateExpected() {
    return updateExpected;
}

谢谢! 约阿希姆

【问题讨论】:

    标签: java jquery jsp date datepicker


    【解决方案1】:

    我会将此日期作为字符串和请求属性传递并使用$("#datepicker").datepicker( "setDate", $mydatestringfromjava );

    private Date updateExpected;
    
    public String getUpdateExpected() {
      SimpleDateformat sdf = new SimpleDateFormat("dd/M/yyyy");
      return sdf.format(<your-date>);
    }
    

    【讨论】:

    • 这不起作用,因为 JSP 和 Spring 之间的数据绑定似乎在寻找返回日期的方法 getUpdateExpected()。我现在设法通过在我的 java 类中包含两个字段来“修复”它:updateExpected 和 updatedExpectedString,我在其中以正确的格式返回字符串。每次我设置字符串的值时,我也会更新日期值。非常丑陋:(但现在似乎可以工作。
    • 我很肯定它应该可以工作。你能发布你的完整代码吗?
    猜你喜欢
    • 2014-08-09
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    相关资源
    最近更新 更多