- javascript server time script giving me NaN NaN [closed]
- 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")? 'August 31, 2007 22:41:04' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'
- 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=formatField(hour, 1)+":"+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
- }
- new showLocalTime("timecontainer", "server-ssi", 0, "short")
- new showLocalTime("timecontainer", "server-php", 0, "short")