Struts2 Java Util日期转换问题

时间:2011-06-09 08:32:36

标签: java struts2

在我的应用程序中,我有一个文本字段映射到动作类中的日期。如果我输入15/12/2011(MM / dd / yyyy),它会自动将其转换为03/12/2012(MM / dd / yyyy)。

我的代码是:

jsp Page:

<s:textfield name="drDt" id="drDt" />

动作类:

private Date drDt;
public Date getDrDt() {
    return drDt;
}

public void setDrDt(Date drDt) {
    this.drDt = drDt;
}

问题在于代码:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");

sdf.parse(dateValue);

以上陈述有一些问题。

2 个答案:

答案 0 :(得分:1)

这是“默认”行为。否则,请将dateFormat.setLenient()设置为false。设置为false会在遇到无效日期时抛出Exception,例如示例中的日期。你需要优雅地处理它。也许,向用户显示输入的日期不正确或无效的消息。准确地说,添加验证器来验证用户输入。

答案 1 :(得分:0)

MM / dd / yyyy是月/日/年。 您写了15/12/2011,即第15个月=(15 - 12)= 3 /第12天和年+ 1(2011年+ 15年的额外年份),因为15是无效月份。 尝试切换到dd / MM / yyyy