PDA

View Full Version : Local Time Clock



andre@swakop.com
04-10-2007, 10:39 AM
Hi
I have used the Local Time Clock script on my website and it is working fine.
What I want to know is.. Is there a way to allign the time display
I used 8 Cities from around the world ....
The City names are all left-alligned, then followed by the time which does not line up nicely.
I am VERY new to scripting and would appreciate some help
Here is the page http://www.visions.com.na/default.asp
Another question: is it possible in this same script to use 24h format 01h00 or 01:00 instead of only 1:00 as this seems to be one of the contirbuting factors to the mis-alignment

Thanks

codeexploiter
04-10-2007, 10:49 AM
You can align the display of time either using table base layouting method or using CSS.

Place the alignment configurations along with the script that controls the display of the time/date

mburt
04-10-2007, 10:50 AM
<script type="text/javascript">

/***********************************************
* Local Time script- &#169; Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var weekdaystxt=["Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"]

function showLocalTime(container, servermode, offsetMinutes, displayversion){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.displayversion=displayversion
var servertimestring=(servermode=="server-php")? '<? print date("F d, Y H:i:s", time())?>' : (servermode=="server-ssi")? '<!--#config timefmt="&#37;B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '4/10/2007 12:47:25 PM'
this.localtime=this.serverdate=new Date(servertimestring)
this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time
this.updateTime()
this.updateContainer()
}

showLocalTime.prototype.updateTime=function(){
var thisobj=this
this.localtime.setSeconds(this.localtime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

showLocalTime.prototype.updateContainer=function(){
var thisobj=this
if (this.displayversion=="long")
this.container.innerHTML=this.localtime.toLocaleString()
else{
var hour=this.localtime.getHours()
var minutes=this.localtime.getMinutes()
var seconds=this.localtime.getSeconds()
var ampm=(hour>=12)? "PM" : "AM"
var dayofweek=weekdaystxt[this.localtime.getDay()]
this.container.innerHTML=hour+"h"+formatField(minutes)+":"+formatField(seconds)+" "+ampm+" ("+dayofweek+")"
}
setTimeout(function(){thisobj.updateContainer()}, 1000) //update container every second
}

function formatField(num, isHour){
if (typeof isHour!="undefined"){ //if this is the hour field
var hour=(num>12)? num-12 : num
return (hour==0)? 12 : hour
}
return (num<=9)? "0"+num : num//if this is minute or sec field
}

</script>
That will make it a 24 hour clock, and replace the : with h. (eg. 11:14 PM would be 23h14)

andre@swakop.com
04-10-2007, 01:53 PM
Thanks guys,
Appreciated... still have to do the alignment part, but the 24h format already helped to get it more lined up.