var dateArr = [];\r
\r
while (list && (entry = list.getNext()) != undefined) {\r
- dateArr = entry.StartTime.replace(/,/g,'').replace(/\./g,':').replace(/ /g,' ').split(' ');\r
+ dateArr = (entry.StartTime + '').replace(/,/g,'').replace(/\./g,':').replace(/ /g,' ').split(' ');\r
var day = dateArr[1];\r
var month = dateArr[2];\r
var year = dateArr[3];\r
Wednesday, 2009 August, 28 8.00.00 pm\r
Wednesday, 2009 August, 28 08:00:00 PM\r
*/\r
+ var result = null;\r
\r
- if (dateString == "" || dateString == null)\r
- return null;\r
- var dateArr = dateString.replace(/,/g,'').replace(/\./g,':').replace(/ /g,' ').split(' ');\r
- if (dateArr.length != 5 && dateArr.length != 6)\r
- return null;\r
-\r
- // parse date\r
- var weekDay = dateArr[0];\r
- var day = dateArr[1];\r
- var month = dateArr[2];\r
- var year = dateArr[3];\r
- // make sure month is set properly\r
- if (isNaN(parseInt(day))) {\r
- var tmp = day;\r
- day = month;\r
- month = tmp;\r
- } else if (isNaN(parseInt(year))) {\r
- var tmp = year;\r
- year = month;\r
- month = tmp;\r
+ if (dateString == "" || dateString == null || dateString == undefined)\r
+ return result;\r
+ if (dateString instanceof Date) {\r
+ // we already have a date object, no need to parse string here\r
+ result = dateString;\r
}\r
- // make sure day and year are set properly\r
- if (Number(day) > Number(year)) {\r
- var tmp = year;\r
- year = day;\r
- day = tmp;\r
+ else {\r
+ var dateArr = (dateString + '').replace(/,/g, '').replace(/\./g, ':').replace(/ /g, ' ').split(' ');\r
+ if (dateArr.length != 5 && dateArr.length != 6) \r
+ return null;\r
+ \r
+ // parse date\r
+ var weekDay = dateArr[0];\r
+ var day = dateArr[1];\r
+ var month = dateArr[2];\r
+ var year = dateArr[3];\r
+ // make sure month is set properly\r
+ if (isNaN(parseInt(day))) {\r
+ var tmp = day;\r
+ day = month;\r
+ month = tmp;\r
+ }\r
+ else \r
+ if (isNaN(parseInt(year))) {\r
+ var tmp = year;\r
+ year = month;\r
+ month = tmp;\r
+ }\r
+ // make sure day and year are set properly\r
+ if (Number(day) > Number(year)) {\r
+ var tmp = year;\r
+ year = day;\r
+ day = tmp;\r
+ }\r
+ month = months_translated[month];\r
+ \r
+ // parse time\r
+ var timeArr = dateArr[4].split(':');\r
+ if (timeArr.length != 3) \r
+ return null;\r
+ var hours = Number(timeArr[0]);\r
+ var minutes = Number(timeArr[1]);\r
+ var seconds = Number(timeArr[2]);\r
+ if (dateArr.length == 6 && dateArr[5].toLowerCase() == 'pm' && hours < 12) \r
+ hours += 12;\r
+ if (dateArr.length == 6 && dateArr[5].toLowerCase() == 'am' && hours == 12) \r
+ hours = 0;\r
+ \r
+ result = new Date(year, month - 1, day, hours, minutes, seconds);\r
}\r
- month = months_translated[month];\r
-\r
- // parse time\r
- var timeArr = dateArr[4].split(':');\r
- if (timeArr.length != 3)\r
- return null;\r
- var hours = Number(timeArr[0]);\r
- var minutes = Number(timeArr[1]);\r
- var seconds = Number(timeArr[2]);\r
- if (dateArr.length == 6 && dateArr[5].toLowerCase() == 'pm' && hours < 12)\r
- hours += 12;\r
- if (dateArr.length == 6 && dateArr[5].toLowerCase() == 'am' && hours == 12)\r
- hours = 0;\r
-\r
- var result = new Date(year, month - 1, day, hours, minutes, seconds);\r
\r
// take care of daylight saving time\r
if (config['enableDaylightSaving'].Value) {\r
if (config['showTodayAsText'].Value && isTomorrow(date))\r
return '<span class="tomorrow">' + config['tomorrowText'].Value + '</span>';\r
\r
+ if (format instanceof Date) {\r
+ // we don't know how to format this\r
+ if (config['dateFormat'].Value == 'auto' || config['dateFormat'].Value == 'DDMM')\r
+ return day + config['dateSeparator'].Value + month;\r
+ else\r
+ return month + config['dateSeparator'].Value + day;\r
+ }\r
var dateArr = format.replace(/,/g,'').replace(/\./g,':').replace(/ /g,' ').split(' ');\r
if (dateArr.length != 5 && dateArr.length != 6) {\r
// we don't know how to format this\r