On the page I've been developing, I've been populating a datagrid with attributes from a feature layer. A few of the attributes are date fields. I found out the hard way about the the format of date values returned through the API so I looked for a function to properly format my dates and times back into xx/xx/xxxx and xx:xx ampm formats.I settled on the following functions which use dojo:function formatDate(value){
var inputDate = new Date(value);
return dojo.date.locale.format(inputDate, {
selector: 'date',
datePattern: 'MM/dd/yyyy'
});
}
function formatTime(value){
var inputTime = new Date(value);
return dojo.date.locale.format(inputTime, {
selector: 'date',
datePattern: 'K:mm a'
});
}
The routines are used in a formatter() function for one of my columns in the datagrid like this: var rowdata = this.grid.getItem(rowIndex);
var theClosureDate = rowdata.dateCl;
alert(formatDate(theClosureDate));
Here's where it gets weird- I've been doing my development and debugging with Firefox and the dates displayed are correct. I just loaded the page in Chrome and IE-8 and the dates displayed are "NaN".Does anyone have a conversion function they can share which works across all browsers? It would be especially great if it also handled the UTC/local time difference. I realized that these routines don't.Thank you!Steve