]> code.delx.au - comingnext/commitdiff
fixed 12h time format not being used anymore on Anna devices
authorMichael Prager <mail@michaelprager.de>
Sat, 5 Nov 2011 14:42:04 +0000 (15:42 +0100)
committerMichael Prager <mail@michaelprager.de>
Sat, 5 Nov 2011 14:42:04 +0000 (15:42 +0100)
Readme.txt
comingNext/index.html

index 898082c21ffe1cd226030ae70fef513e548a866a..991a201b7246a7ae97479da32a920978f38bd2f1 100644 (file)
@@ -283,3 +283,5 @@ Changelog:
   - improved error handling: don't break widget when a system backup is made\r
   - updated included "Skin Fetcher" tool to version 1.5 (which now properly \r
     supports N8-00, E7-00, C6-00, C6-01, C7-00, C7 Astound, X7-00, T7-00 and 500)\r
+1.34 () by Michael Prager\r
+  - fixed 12h time format not being used anymore on Anna devices\r
index f8ffff8879e49f6662827a8e178437f161a3cd31..d809742db8b2cf85a534c488df3ad024172c26ef 100644 (file)
@@ -106,6 +106,7 @@ var reloadInterval = 6 * 60 * 60 * 1000; // = 6 hours; time interval for reloadi
 var errorOccured = false;\r
 var entryLists = null; // stores all fetched calendar entries until data is refreshed\r
 var statupSuccessful = false; // indicates if everything started up wihtout errors. If we detect an error after that, it might just be a temporary problem e.g. by a backup process.\r
+var use12hoursTimeFormat = false; // defines how time should be formated: 19:00 or 07:00 pm\r
 \r
 // vars for daylight saving time\r
 var summertime = false; // true, if current date is in summer, false if in winter\r
@@ -491,6 +492,10 @@ function parseDate(dateString)
                if (dateArr.length == 6 && dateArr[5].toLowerCase() == 'am' && hours == 12) \r
                        hours = 0;\r
                \r
+               // remember if date was formated using 12h time format, we need to use this information later when formating time\r
+               if (dateArr.length == 6 && (dateArr[5].toLowerCase() == 'am' || dateArr[5].toLowerCase() == 'pm'))\r
+                       use12hoursTimeFormat = true;\r
+\r
                result = new Date(year, month - 1, day, hours, minutes, seconds);\r
        }\r
        \r
@@ -592,6 +597,25 @@ function formatTime(date)
        var time = date.toLocaleTimeString().replace(/[\.:]00/, ''); // remove seconds from string\r
        if (time.replace(/\./, ':').split(':')[0].length < 2)\r
                time = '0' + time;\r
+\r
+       // workaround for bug introduced by Anna firmwares, which causes Date().toLocaleTimeString() to no longer return time in 12h format even though this has been defined in system settings\r
+       if (use12hoursTimeFormat && time.toLowerCase().indexOf('am') == -1 && time.toLowerCase().indexOf('pm') == -1) { \r
+               var hour = now.getHours();\r
+               var minute = now.getMinutes();\r
+               var ap = "AM";\r
+               if (hour > 11)\r
+                       ap = "PM";\r
+               if (hour > 12)\r
+                       hour = hour - 12;\r
+               if (hour == 0)\r
+                       hour = 12;\r
+               if (hour < 10)\r
+                       hour = "0" + hour;\r
+               if (minute < 10)\r
+                       minute = "0" + minute;\r
+               time = hour + ":" + minute + " " + ap;\r
+       }\r
+       \r
        if (config['showNowAsText'].Value && date.getTime() == now.getTime())\r
                time = '<span class="now">' + config['nowText'].Value + '</span>';\r
        return time;\r