将日期与日期列表进行比较

时间:2014-05-23 14:08:15

标签: javascript date compare xpages

我有一个列出假日日期的视图。我的表单上有一个日期字段,需要与我的假日日期列表不同。所以我创建了一个验证器来检查它。

<xp:validateExpression message="İzin başlangıcı resmi tatillere denk gelemez.">
    <xp:this.expression>
        <![CDATA[#{javascript:var dHolidays = @DbColumn(@DbName(),"(lookupHoliday)", 1);
            !@IsMember(value, dHolidays)}]]>
    </xp:this.expression>
</xp:validateExpression>

这对公式语言很有用,但xpages有一些古怪的日期格式,我无法比较。

1 个答案:

答案 0 :(得分:1)

您可以使用java.text.SimpleDateFormat将日期值转换为字符串,并在validateExpression中对它们进行比较:

    var sdf = new java.text.SimpleDateFormat("dd/MM/yyyy");
    var dHolidays = @DbColumn(@DbName(),"(lookupHoliday)", 1);
    var newDate = sdf.format(value);
    for (var i=0; i < dHolidays.length; i++) {
        if (sdf.format(dHolidays[i]) === newDate) {
            return false;
        }
    }
    return true;

您可以通过这种方式在视图的第一列中列出正常的Notes日期(而不是字符串)。