【问题标题】:Date change issue in struts2struts2中的日期更改问题
【发布时间】:2014-11-29 07:28:33
【问题描述】:

当我从日期选择器中选择日期格式时,它以“dd/MM/yyyy”格式显示。 将日期传递给 java 类,它变成“MM/dd/yyyy”。 由于这个原因,我无法通过 12 日以上的一天,它显示输入错误。

示例:jsp 中的 11/08/2014 中显示的日期相同
java 类是 Sat Nov 08 00:00:00 IST 2014

【问题讨论】:

  • 在 Stackoverflow 中搜索“Java date”以找到数百个处理解析日期字符串的示例。

标签: java date struts2 datepicker


【解决方案1】:

您可以使用 DateFormat 将日期转换为所需的格式。

DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Calendar cal = Calendar.getInstance();
String currDate = dateFormat.format(cal.getTime());

【讨论】:

  • 实际上除了其中一台计算机外,它工作得很好。所有都添加了同一个库。
【解决方案2】:

读取Date conversion in Struts2,然后在struts.xml中设置一个Locale为Struts2,方法如下:

<constant name="struts.locale" value="it_IT"  />

如果您不构建多语言 (i18n) Web 应用程序,请使用所需的语言环境而不是 it_IT

还可以考虑使用 HTML5 原生 &lt;input type="date" /&gt;,并为不支持该功能的浏览器使用 jQuery(在本例中为 Modernizr):

<script>
    // If not native HTML5 support, fallback to jQuery datePicker
    $(function(){
        if (!Modernizr.inputtypes.date) {
            $('input[type=date]').datepicker({
                // Consistent format with the HTML5 picker
                dateFormat: 'yy-mm-dd'
                },
                // Localization
                $.datepicker.regional['it']
            );
        }
    });
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-06
    • 2011-12-12
    • 2021-10-10
    • 2020-11-30
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    相关资源
    最近更新 更多