I'm having trouble using datajs with a date format from Google Calendar API. The datetime format I believe is RFC3339 and this is a sample datetime returned from the calendar api
2012-01-05T08:45:00Z
This is from the datejs documentation here
Date.parse('1985-04-12T23:20:50Z') // RFC 3339 Formats
But this just returns null.
I'm assuming I have datejs working correctly as
Date.today().next().friday()
returns Fri May 11 2012 00:00:00 GMT+0100 (BST)
SOLVED: Use Date.parseExact OR this version according to this Bug report
Using the first version I get
null
http://datejs.googlecode.com/files/date.js
Line 13
when I take the assertions out of the testsuite:
// null
console.log('Date.parse("1985-04-12T23:20:50Z")',
Date.parse('1985-04-12T23:20:50Z'));
// my previous answer works
console.log('Date.parse("1985-04-12T23:20:50Z".replace(...))',
Date.parse('1985-04-12T23:20:50Z'
.replace(/\-/g,'\/')
.replace(/[T|Z]/g,' ')
)
);
// the test suite without the Z works
console.log('1985-04-12T23:20:50',
new Date(1985,3,12,23,20,50).equals( Date.parse('1985-04-12T23:20:50')));
// but this one fails when not in the test suite
try {
console.log('1985-04-12T23:20:50Z',
new Date(1985,3,12,23,20,50).equals( Date.parse('1985-04-12T23:20:50Z')));
}
catch(e) {
console.log('1985-04-12T23:20:50Z',e.message);
}
Here is an older answer for this issue when not using date.js