A JavaScript function to parse an XML (ISO-8601) date string (e.g., "2008-01-18") that returns a JavaScript Date object.
function parseDate(xmlDate)
{
if (!/^[0-9]{4}\-[0-9]{2}\-[0-9]{2}/.test(xmlDate)) {
throw new RangeError("xmlDate must be in ISO-8601 format YYYY-MM-DD.");
}
return new Date(xmlDate.substring(0,4), xmlDate.substring(5,7)-1, xmlDate.substring(8,10));
}
The code snippet below then converts the Date object to localized string.
strXmlDate = "2008-01-18";
oTempDate = parseDate(strXmlDate);
if (oTempDate.toLocaleDateString)
{
strDate = oTempDate.toLocaleDateString();
}
else
{
strDate = oTempDate.toLocaleString();
}