/ Published in: JavaScript
Licensed under CC-by-2.0. Does not account for differences in daylight saving time.
Expand |
Embed | Plain Text
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Time Zone Converter</title> <script type="text/javascript"> <!-- var i, timezone, timezones = ['New York/DC/Ottawa', 'Los Angeles', 'Chicago/Austin', 'London', 'Paris/Berlin', 'Moscow', 'Melbourne'], times = [-5, -8, -6, 0, 1, 3, 9], current_time, current_date, local_time, timer, month, day, new_time, months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; function get(elmnt) { return document.getElementById(elmnt); } function initialize() { for(i=0;i<timezones.length;i++) { timezone = document.createElement('h2'); timezone.id = 'timezone'+i; get('content').appendChild(timezone); } for(i=0;i<months.length;i++) { month = document.createElement('option'); month.innerHTML = months[i]; get('cboMonths').appendChild(month); } for(i=1;i<=31;i++) { day = document.createElement('option'); day.innerHTML = i; get('cboDays').appendChild(day); } current_date = new Date(); setTimeout('update_times(null, true);', 1000); get('cboMonths').selectedIndex = current_date.getMonth(); get('cboDays').selectedIndex = current_date.getDate()-1; get('txtYear').value = current_date.getFullYear(); get('txtTime').value = add_leading_zero(current_date.getHours()) + ':' + add_leading_zero(current_date.getMinutes()) + ':' + add_leading_zero(current_date.getSeconds()); } function add_leading_zero(number) { return number<10 ? '0'+number : number; } function update_times(date, repeat) { date = date ? date : new Date(); for(i=0;i<timezones.length;i++) { local_time = new Date(date.getTime()+(times[i]*3.6E6)); get('timezone'+i).innerHTML = timezones[i] + '<br />' + months[local_time.getMonth()] + ' ' + local_time.getDate() + ', ' + local_time.getFullYear() + ', ' + add_leading_zero(local_time.getHours()) + ':' + add_leading_zero(local_time.getMinutes()) + ':' + add_leading_zero(local_time.getSeconds()); } if(repeat) { if(timer) clearTimeout(timer); timer = setTimeout('update_times(null, true);', 1000); } } function set_time() { if(timer) clearTimeout(timer); time = new Date(); time.setMonth(get('cboMonths').selectedIndex, get('cboDays').selectedIndex+1); time.setYear(parseInt(get('txtYear').value)); new_time = get('txtTime').value.split(':'); time.setHours(parseInt(new_time[0])); time.setMinutes(parseInt(new_time[1])); time.setSeconds(parseInt(new_time[2])); update_times(time, false); } --> </script> <style type="text/css"> <!-- body { font: 80% "Trebuchet MS", Arial, Helvetica, sans-serif; } div#content h2 { float: left; margin: 0.5em 3em 0em 0em; } br { clear: left; } --> </style> </head> <body onload="initialize();"> <div id="content"> <h1>Time Around The World</h1> <label>Local Time:</label> <select id="cboMonths" onkeypress="if(event.keyCode==13) set_time();"></select> <select id="cboDays" onkeypress="if(event.keyCode==13) set_time();"></select> <input type="text" id="txtYear" value="" onkeypress="if(event.keyCode==13) set_time();" /> <input type="text" id="txtTime" value="" onkeypress="if(event.keyCode==13) set_time();" /> <button onclick="set_time();">Set Time</button> <button onclick="update_times(null, true);">Reset Clocks</button><br /> </div> </body> </html>
You need to login to post a comment.
