0

我正在我的工作流表单中开发一个日期输入的自定义验证器,在解析日期后我得到一个空值,这就是我所做的:

// check dates can be parsed        
    str_expiryDate = field.form.prop_wfbxTestWorkFlow_NfDate.value;
    console.log("Non conformite"+str_expiryDate);

    str_reminderDate = field.form.prop_bpm_workflowDueDate.value;
     console.log("echeance"+str_reminderDate);

    Alfresco.logger.warn("Expiry Date: " + str_expiryDate + " | Reminder Date: " + str_reminderDate);

    d_expiryDate = Date.parse(str_expiryDate);
    console.log("nfDate"+str_expiryDate);

    d_reminderDate = Date.parse(str_reminderDate);
    console.log("Date echéance"+d_reminderDate);

然后我在控制台中得到这个:

Non conformite2013-06-21T00:00:00.000+01:00 echeance2013-06-09T00:00:00.000+01:00

nfDatenull 日期 echéancenull

我如何解析这两个日期然后进行比较?。谢谢

4

2 回答 2

1

使用Alfresco.util.fromISO8601(日期)

根据客户端 api 文档

将 ISO8601 日期字符串转换为 JavaScript 原生 Date 对象

于 2013-06-05T13:35:17.237 回答
0

您正在解析日期的“值”,而不是日期本身。最好的比较方法是,恕我直言,使用格式 YYYYMMDD,然后将其作为数字进行比较。像这样的事情(肯定有一种更优雅的方式来做到这一点,但目前它是唯一能吸引我的方式):

var indexDate=str_expiryDate.indexOf("-");
var dayDate=str_expiryDate.substring(0, 2);
var monthDate=str_expiryDate.substring(3, 5);
var yearDate=fromData.substring(6, str_expiryDate.length+1);
int dataNew=yearDate+monthDate+dayDate;                 

然后比较两个日期值。显然检查索引值是否正确,我没有仔细检查它们。希望我有所帮助。

于 2013-06-04T21:12:25.330 回答