Lhoussaine
Lhoussaine

Reputation: 59

Parse alfresco date

I'm developing a custom validator of a date input in my workflow form and I get a null after parsing a date this is what I done:

// 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);

and then i get this in console:

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

nfDatenull Date echéancenull

How I can parse these two dates and then compare it? .thanks

Upvotes: 0

Views: 1465

Answers (2)

Tahir Malik
Tahir Malik

Reputation: 6643

Use Alfresco.util.fromISO8601(date)

According to the client-api docs

Convert an ISO8601 date string into a JavaScript native Date object

Upvotes: 1

Teqnology
Teqnology

Reputation: 1298

You are parsing the "value" of a date, not the date itself. The best way to compare is, imho, using the format YYYYMMDD, and than compare it as a number. Something like this (there is sure a far more elegant way to do that, but at this time it's the only one that got me):

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;                 

and than compare the two dates value. Obviously check if the index value are correct, I didn't double checked them. Hope il helps.

Upvotes: 0

Related Questions