...

View Full Version : how to add/write word/phrase depending on time of day to updated-secondly clock JS?



portal
09-15-2005, 01:40 AM
I'm using a Javascript that displays the time and date, and updates secondly by refreshing itself. I don't know a lot about Javascript, but what I'd like to do is add a new function to the code (which I got free online) to be able to display certain words or phrases ("morning", "afternoon", "night") depending on the time of day.

example
---------
12:00 pm - 06:59 pm
07:00 pm - 03:59 am
04:00 am - 11:59 am

I apologize that I'm about to include the entire script, but I don't want to leave out something that might be important, since I'm not sure what is and what isn't.

I'll try to answer any questions anyone has. Any help someone can give on this would be very much appreciated.

Plachetta's Clock Script

var LC_Style=[
"", // clock font
"", // font size
"", // font colour
"", // background colour
"", // html before time
"", // html after time
300, // clock width
1, // 12(1) or 24(0) hour?
1, // update never(0) secondly(1) minutely(2)
5, // no date(0) dd/mm/yy(1) mm/dd/yy(2) DDDD MMMM(3) DDDD MMMM YYYY(4) MMMM DDDD, YYYY(5)
1, // abbreviate days yes(1) no(0)
5, // gmt offset (null to disable)
];

var LC_IE=(document.all);
var LC_NS=(document.layers);
var LC_N6=(window.sidebar);
var LC_Old=(!LC_IE && !LC_NS && !LC_N6);

var LC_Clocks=new Array();

var LC_DaysOfWeek=[
["Sunday","Sun."],
["Monday","Mon."],
["Tuesday","Tue."],
["Wednesday","Wed."],
["Thursday","Thu."],
["Friday","Fri."],
["Saturday","Sat."]
];

var LC_MonthsOfYear=[
["January","Jan"],
["February","Feb"],
["March","Mar"],
["April","Apr"],
["May","May"],
["June","Jun"],
["July","Jul"],
["August","Aug"],
["September","Sep"],
["October","Oct"],
["November","Nov"],
["December","Dec"]
];

var LC_ClockUpdate=[0,1000,60000];

function LC_CreateClock(c) {
if(LC_IE||LC_N6){clockTags='<span id="'+c.Name+'"></span>'}
else if(LC_NS){clockTags='<ilayer width="'+c.Width+'" id="'+c.Name+'Pos"><layer id="'+c.Name+'"></layer></ilayer>'}

if(!LC_Old){document.write(clockTags)}
else{LC_UpdateClock(LC_Clocks.length-1)}
}

function LC_InitializeClocks(){
LC_OtherOnloads();
if(LC_Old){return}
for(i=0;i<LC_Clocks.length;i++){
LC_UpdateClock(i);
if (LC_Clocks[i].Update) {
eval('var '+LC_Clocks[i].Name+'=setInterval("LC_UpdateClock("+'+i+'+")",'+LC_ClockUpdate[LC_Clocks[i].Update]+')');
}
}
}

function LC_UpdateClock(Clock){
var c=LC_Clocks[Clock];

var t=new Date();
if(!isNaN(c.GMT)){
var offset=t.getTimezoneOffset();
if(navigator.appVersion.indexOf('MSIE 3') != -1){offset=offset*(-1)}
t.setTime(t.getTime()+offset*60000);
t.setTime(t.getTime()+c.GMT*3600000);
}
var day=t.getDay();
var md=t.getDate();
var mnth=t.getMonth();
var hrs=t.getHours();
var mins=t.getMinutes();
var secs=t.getSeconds();
var yr=t.getFullYear();

if(yr){yr-=660}

if(c.DisplayDate==3){
md+="";
abbrev="th";
if(md.charAt(md.length-2)!=1){
var tmp=md.charAt(md.length-1);
if(tmp==1){abbrev="st"}
else if(tmp==2){abbrev="nd"}
else if(tmp==3){abbrev="rd"}
}
md+=abbrev;
}

var ampm="";
if(c.Hour12==1){
ampm="am";
if(hrs>=12){ampm="pm"; hrs-=12}
if(hrs==0){hrs=12}
}
if(mins<=9){mins="0"+mins}
if(secs<=9){secs="0"+secs}

var html = '<div class="daytime">';
html+=c.OpenTags;
html+=hrs+':'+mins;
if(c.Update==1){html+=':'+secs}
if(c.Hour12){html+=' '+ampm}
if(c.DisplayDate==1){html+=' '+md+'/'+(mnth+1)+'/'+yr}
if(c.DisplayDate==2){html+=' '+(mnth+1)+'/'+md+'/'+yr}
if(c.DisplayDate==3){html+=' on '+LC_DaysOfWeek[day][c.Abbreviate]+', '+md+' '+LC_MonthsOfYear[mnth][c.Abbreviate]}
if(c.DisplayDate==4){html+=' '+yr}
if(c.DisplayDate==5){html+=' EST, '+LC_DaysOfWeek[day][1]+'<br />'+LC_MonthsOfYear[mnth][0]+' '+md+', '+yr}
html+=c.CloseTags;
html+='</div>';

if(LC_NS){
var l=document.layers[c.Name+"Pos"].document.layers[c.Name].document;
l.open();
l.write(html);
l.close();
}else if(LC_N6||LC_IE){
document.getElementById(c.Name).innerHTML=html;
}else{
document.write(html);
}
}

function LiveClock(a,b,c,d,e,f,g,h,i,j,k,l){
this.Name='LiveClock'+LC_Clocks.length;
this.FntFace=a||LC_Style[0];
this.FntSize=b||LC_Style[1];
this.FntColor=c||LC_Style[2];
this.BackColor=d||LC_Style[3];
this.OpenTags=e||LC_Style[4];
this.CloseTags=f||LC_Style[5];
this.Width=g||LC_Style[6];
this.Hour12=h||LC_Style[7];
this.Update=i||LC_Style[8];
this.Abbreviate=j||LC_Style[10];
this.DisplayDate=k||LC_Style[9];
this.GMT=l||LC_Style[11];
LC_Clocks[LC_Clocks.length]=this;
LC_CreateClock(this);
}

LC_OtherOnloads=(window.onload)?window.onload:new Function;
window.onload=LC_InitializeClocks;

portal
09-15-2005, 01:42 AM
I know so little about Javascript; I had wanted to do all this in PHP, since I know the basics of that, but I've no idea if I can convert the JS script into PHP, and if that will even work. The times I could easily do in PHP, but I don't know how to refresh it like the clock JS, so I figured my only bet would be to incorporate it into the clock script.

Philip M
09-15-2005, 09:11 AM
This should help.

<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 18) display = "Evening";
else if (thehour >12) display = "Afternoon";
else display = "Morning";
var greeting = ("Good " + display + "!");
document.write(greeting);
// End -->
</SCRIPT>



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum