[Javascript] Javascript World Times
David Lovering
dlovering at gazos.com
Fri Apr 30 23:11:29 CDT 2004
I noticed that it doesn't have the "zig-zag" correction for the Aleutian
islands or the west-most limb of Alaska, but aside from that it looks OK.
-- Dave Lovering
----- Original Message -----
From: <shawn_milochik at godivachoc.com>
To: <javascript at LaTech.edu>
Sent: Friday, April 30, 2004 10:07 AM
Subject: [Javascript] Javascript World Times
>
>
>
>
> Here is a function to display world times. I'm proud of some of the work
> there, but I suspect that some of
> you may have improvements to suggest. The rules for time zones were taken
> from:
> http://timeanddate.com/worldclock/
>
> Just go there, click the city/country in which you are interested, and the
> offset rules and dates will be there.
>
> Feedback extremely welcome!
>
> Shawn
>
>
>
>
>
>
>
>
>
>
////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////
>
>
> Here is the HTML part:
>
> In body tag:
> onload="worldTimes();"
>
> In body:
> (I am using style sheets to format and align the block of times to the
> center.
> All the <div> elements can be removed at your preference, but the <span>
> elements are required.
>
> <!-- ##### World Times Begin ##### -->
> <div style="text-align: center; width: 99%;">
>
> <div style="width: 500px;">
> <div class="floatTime">
> New York<br/> <span id="rh1"></span>
> </div>
> <div class="floatTime">
> Brussels<br/> <span id="bh1"></span>
> </div>
> <div class="floatTime">
> Hong Kong<br/> <span id="hh1"></span>
> </div>
> <div class="floatTime">
> Tokyo<br/> <span id="th1"></span>
> </div>
> <div class="floatTime">
> Sydney<br/> <span id="sh1"></span>
> </div>
> </div>
> </div>
> <!-- ##### World Times End ##### -->
>
>
>
> Javascript function (worldTimes.js)
>
> function textDay(weekDay){
>
> var textDay;
>
> if (weekDay == 0){ textDay = "Sun"; }
> if (weekDay == 1){ textDay = "Mon"; }
> if (weekDay == 2){ textDay = "Tue"; }
> if (weekDay == 3){ textDay = "Wed"; }
> if (weekDay == 4){ textDay = "Thu"; }
> if (weekDay == 5){ textDay = "Fri"; }
> if (weekDay == 6){ textDay = "Sat"; }
>
> return textDay;
>
> }
>
> function worldTimes(){
>
> var local = new Date();
> var UCT;
> var localOffset;
> var startDST;
> var endDST;
>
> var Brussels;
> var Sydney;
> var Reading;
> var Tokyo;
> var HongKong;
>
> var BrusselsOffset = + 1;
> var SydneyOffset = + 10;
> var HongKongOffset = + 8;
> var ReadingOffset = - 5;
> var TokyoOffset = + 9;
>
> //This sets localOffset to the number of minutes difference
> //between local time and UCT
> localOffset = local.getTimezoneOffset();
> //Convert localOffset to milliseconds
> localOffset = localOffset * 60 * 1000;
>
> //Make 'UCT' a number, instead of a date variable.
> UCT = local - 1;
>
> //adjust for localOffset
> UCT = UCT + localOffset;
>
> //Convert UCT back into a date variable
> UCT = new Date(UCT);
>
>
> //figure out Daylight Saving Time info
>
>
> //Reading DST
> startDST = new Date("4/1/" + UCT.getFullYear());
> endDST = new Date("11/1/" + UCT.getFullYear());
>
> while(startDST.getDay() != 0){
> startDST = startDST - 1;
> startDST = new Date(startDST + 60 * 60 * 1000);
> }
>
> while(endDST.getDay() != 0){
> endDST = endDST - 1;
> endDST = new Date(endDST - 60 * 60 * 1000);
> }
>
> if ((UCT >= startDST) && (UCT < endDST)){
> ReadingOffset = ReadingOffset + 1;
> }
>
>
>
> //Brussels DST
> startDST = new Date("4/1/" + UCT.getFullYear());
> endDST = new Date("11/1/" + UCT.getFullYear());
>
> while(startDST.getDay() != 0){
> startDST = startDST - 1;
> startDST = new Date(startDST - 60 * 60 * 1000);
> }
>
> while(endDST.getDay() != 0){
> endDST = endDST - 1;
> endDST = new Date(endDST - 60 * 60 * 1000);
> }
>
> if ((UCT >= startDST) && (UCT < endDST)){
> BrusselsOffset = BrusselsOffset + 1;
> }
>
>
>
> //Sydney DST
>
> startDST = new Date("11/1/" + UCT.getFullYear());
> endDST = new Date("4/1/" + UCT.getFullYear());
>
> while(startDST.getDay() != 0){
> startDST = startDST - 1;
> startDST = new Date(startDST - 60 * 60 * 1000);
> }
>
> while(endDST.getDay() != 0){
> endDST = endDST - 1;
> endDST = new Date(endDST - 60 * 60 * 1000);
> }
>
> if ((UCT >= startDST) || (UCT < endDST)){
> SydneyOffset = SydneyOffset + 1;
> }
>
>
>
> //Get world times
> Reading = UCT - 1;
> Reading = new Date(Reading + (ReadingOffset * 60 * 60 * 1000));
> Brussels = UCT - 1;
> Brussels = new Date(Brussels + (BrusselsOffset * 60 * 60 * 1000));
> Sydney = UCT - 1;
> Sydney = new Date(Sydney + (SydneyOffset * 60 * 60 * 1000));
> HongKong = UCT - 1;
> HongKong = new Date(HongKong + (HongKongOffset * 60 * 60 * 1000));
> Tokyo = UCT - 1;
> Tokyo = new Date(Tokyo + (TokyoOffset * 60 * 60 * 1000));
>
> showTime(Reading, 'r');
> showTime(Brussels, 'b');
> showTime(Tokyo, 't');
> showTime(Sydney, 's');
> showTime(HongKong, 'h');
>
> setTimeout('worldTimes()', 1000);
> }
>
> function showTime(dateTime, prefix){
>
> //alert('c');
>
> var hr1 = document.getElementById(prefix + 'h1');
> var ampm;
>
> var x;
> var y;
> var hours;
> var minutes;
> var seconds;
> var weekDay;
>
> hours = dateTime.getHours();
> minutes = dateTime.getMinutes();
> seconds = dateTime.getSeconds();
> weekDay = dateTime.getDay();
>
>
> //Hours
>
> ampm = 'AM';
>
>
>
> if (hours == 0){
> hours = 12;
> }
>
> if (hours > 12){
> ampm = 'PM';
> hours -= 12;
> }
>
>
>
>
>
> //Minutes
> if (minutes < 10){
> minutes = '0' + minutes;
> }
>
>
>
>
> //Seconds
> if (seconds < 10){
> seconds = '0' + seconds;
> }
>
>
>
> //hr1.innerHTML = hours + ':' + minutes + ':' + seconds + ' ' + ampm;
> hr1.innerHTML = hours + ':' + minutes + ' ' + ampm + ' ' +
> textDay(weekDay);
>
>
>
>
> }
>
>
>
>
>
>
>
> **********************************************************************
> This e-mail and any files transmitted with it may contain
> confidential information and is intended solely for use by
> the individual to whom it is addressed. If you received
> this e-mail in error, please notify the sender, do not
> disclose its contents to others and delete it from your
> system.
>
> **********************************************************************
>
> _______________________________________________
> Javascript mailing list
> Javascript at LaTech.edu
> https://lists.LaTech.edu/mailman/listinfo/javascript
>
>
More information about the Javascript
mailing list