使用Java保存日期:此字段不是有效日期

时间:2017-04-06 17:45:56

标签: java date xpages

在xpage上我有一个inputtext控件:

<xp:inputText
                value="#{employeeBean.employee.dateOfEmployment}">
                <xp:this.defaultValue><![CDATA[#{javascript:var dt:NotesDateTime = session.createDateTime("Today");
dt.adjustMonth(-6);
return dt.getDateOnly();}]]></xp:this.defaultValue>

                <xp:this.converter>
                    <xp:convertDateTime type="date"></xp:convertDateTime>
                </xp:this.converter>
            </xp:inputText>

该值可以是例如:2016-10-06

当我想要保存我的对象时,我会收到以下消息:

此字段不是有效日期

有人可以告诉我这可能是什么原因以及我应该如何纠正我的代码?

1 个答案:

答案 0 :(得分:1)

getDateOnly()函数将NotesDateTime的日期部分作为字符串返回,但对于需要存储日期的xp:inputText,您需要使用java.util.Date 。试试这种格式:

@Adjust( @Now(), 0, -6, 0, 0, 0,0);

您可能会注意到输入字段中返回日期的格式不同,但输入控件/服务器将其格式化为日期。如果您需要不同的格式,您可以随时将转换器更改为:

<xp:this.converter>
         <xp:convertDateTime pattern="dd-MM-yyyy"></xp:convertDateTime>
</xp:this.converter>