Create a clock in Macromedia Flash containing an hourHand, minuteHand and secondHand.
Then, add the following actionscript:
Load = function() { now_init = new Date(); daysummertime = (31 - 5*now_init.getFullYear/4 - now_init.getFullYear/100 -now_init.getFullYear/400 +5) % 7; daywintertime = (31 - 5*now_init.getFullYear/4 - now_init.getFullYear/100 -now_init.getFullYear/400 +2) % 7; dateSummerTime = new Date(now_init.getFullYear, 3, daysummertime); dateWinterTime = new Date(now_init.getFullYear, 10, daywintertime); }; _root.onEnterFrame = function() { now = new Date(); // This script supports an external 'seconds since 1970' value. // If not set, the value will be set based on the clients current time. // The idea is that an external 'seconds since 1970 date/time' value can // be provided. This way, the script will calculate the elapsed time // relative to this fixed time/date value. This is useful is you would // want to pass the webserver current date/time to the clock script and // calculate and display the elapsed time from there by the client. // Note: with Flash, elapsed time can only be calculated by the client. // milliseconds elapsed if (s_ext == undefined) { d = now.getMilliseconds(); s = now.getSeconds(); m = now.getMinutes(); h = now.getHours(); hourHand._rotation = h*30+m/2; minuteHand._rotation = m*6+s/10; // Ticking clock // secondHand._rotation = s*6; // Smooth clock secondHand._rotation = s*6+d/156; if (h>11) { txt_ampm.text = "PM"; } else { txt_ampm.text = "AM"; } } else { d_elapsed = new Number(now.getTime()-now_init.getTime()); d_now = new Number(d_elapsed+(s_ext*1000)); now1 = new Date(d_now); d1 = now1.getUTCMilliseconds(); s1 = now1.getUTCSeconds(); m1 = now1.getUTCMinutes(); h1 = now1.getUTCHours(); // External Time Offset due to Time Zone differences //h1 = h1 +2; // If your external time web server is located in a timezone // with daylight savings time, we have to use a formula // to calculate the (varying) offset value if (now1>datesummertime && now1 h1 = h1 + 2; } else { h1 = h1 + 1; } // Update clock hands hourHand._rotation = h1*30+m1/2; minuteHand._rotation = m1*6+s1/10; // Ticking clock // secondHand._rotation = s1*6; // Smooth clock secondHand._rotation = s1*6+d1/156; if (h1>11) { txt_ampm.text = "PM"; } else { txt_ampm.text = "AM"; }