Ir para conteúdo
Fórum Script Brasil
  • 0

Modificar script JavaScript


labp

Pergunta

Achei esse script para mostrar varios horários de diferentes regiões, só que ele vem com botões para escolher a região, e eu quero os horários listados

Script:

// JavaScript Document

var timerRunning = false;
var timezone = "Greenwich Mean Time";  // what time zone are you in ?
var adjust = 0;

function timeCheck(tzone, diff) {
if (timerRunning) {
clearTimeout(updatetime);
timerRunning = false; }
gmtOffset=eval(diff+adjust);
timezone = tzone;
checkDateTime();
}

function checkDateTime () {
var today = new Date();
var year = today.getYear() + 1900;
var month = today.getMonth()+1;
var date = today.getDate();
var day = today.getDay();
var hour = today.getHours();
var minute = today.getMinutes();
var second = today.getSeconds();

var lastSat = date - (day+1);
while (lastSat < 32) lastSat+=7;
if (lastSat > 31) lastSat+=-7;
var firstSat = date - (day+1);
while (firstSat > 0) firstSat+=-7;
if (firstSat < 1) firstSat+=7;
if ((((month == 4) && (date >= firstSat)) || month > 4) &&
(month < 11 || ((month == 10) && day <= lastSat))) adjust += 60;
yourOffset = (new Date()).getTimezoneOffset();
yourOffset = yourOffset + adjust;

var xx = navigator.appName
var xy = navigator.appVersion;
xy = xy.substring(0,1);
if ((xy == 4) && (xx == "Netscape")) yourOffset = yourOffset+adjust;
if ((((month == 4) && (date > 20)) || month > 4) && (month < 11 || ((month == 10) &&
day < 30))) adjust -= 60;

ourDifference = eval(gmtOffset - yourOffset);
var half = eval(ourDifference % 60);
ourDifference = Math.round(ourDifference / 60);
hour = eval(hour - ourDifference);
var m = new Array("",
"Jan","Feb","Mar",
"Apr","May","Jun",
"Jul","Aug","Sept",
"Oct","Nov","Dec");
var leap = eval(year % 4);

if ((half == -30) || (half == 30)) minute += 30;
if (minute > 59) minute -= 60, hour++;
if (minute < 0) minute += 60, hour--;
if (hour > 23) hour -= 24, date += 1;
if (((month == 4) || (month == 6) ||
(month == 9) || (month == 11)) && (date==31)) date = 1, month ++;
if (((month == 2) && (date > 28)) && (leap != 0)) date = 1, month ++;
if ((month == 2) && (date > 29)) date = 1, month++;
if (hour < 0) hour += 24, date --;
if ((date == 32) && (month == 12)) month = m[1], date = 1, year++;
if (date == 32) date = 1, month++;
if ((date < 1) && (month == 1)) month= m[12], date = 31, year--;
if (date < 1) date = 31, month --;
if (((month == 4) || (month == 6) ||
(month== 9) || (month == 11)) && (date == 31)) date = 30;
if ((month == 2) && (date > 28)) date = 29;
if (((month == 2) && (date > 28)) && (leap != 0)) date=28;
for (i=1; i<13; i++) {
if (month == i) {
month = m[i]; break;
   }
}

var dateTime = hour;
dateTime = ((dateTime < 10) ? "0":"") + dateTime;
dateTime = "   " + dateTime;
dateTime += ((minute < 10) ? ":0" : ":") + minute;
dateTime += ((second < 10) ? ":0" : ":") + second;
dateTime += (hour >= 12) ? " PM, " : " AM, ";
dateTime += month + " " + date + ", " + year;

document.clock.zonetime.value = dateTime;
document.clock.zonename.value = timezone;
updatetime=setTimeout("checkDateTime()", 900);
timerRunning = true;
}
HTML dele:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script language="JavaScript" src="hora.js"></script>
</head>
<BODY OnLoad="timeCheck(timezone, 0)">

<center>
<h2>World Clock</h2>
<form name=clock>
<input type=text name=zonetime size=31><br>
<br>
<b>Current Time Zone</b><br>
<input type=text name=zonename size=21>
<br>
<br>
<table border=1 cellpadding=5>
<tr>
<td align=center><input type=button value="Pacific" onClick="timeCheck(this.value, +480)"></td>
<td align=center><input type=button value="Central" onClick="timeCheck(this.value, +420)"></td>
<td align=center><input type=button value="Eastern" onClick="timeCheck(this.value, +300)"></td>
</tr>
<tr>
<td align=center><input type=button value="Hawaii" onClick="timeCheck(this.value, +600)"></td>
<td align=center><input type=button value="Mexico" onClick="timeCheck(this.value, +360)"></td>
<td align=center><input type=button value="New Delhi" onClick="timeCheck(this.value, -330)"></td>
</tr>
<tr>
<td align=center><input type=button value="Hong Kong" onClick="timeCheck(this.value, -480)"></td>
<td align=center><input type=button value="Tokyo" onClick="timeCheck(this.value, -540)"></td>
<td align=center><input type=button value="London" onClick="timeCheck(this.value, +0)"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
Quero que apareça assim: Horário Mundial: London : 21:30 Tokyo: 09:30 ... Agradeço antecipadamente! Tem esse outro script também, talvez seja mais facil porque é menor:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<table border="0" width="200" cellspacing="0" cellpadding="3">
<form name="where">
  <tr>
    <td width="100%">
<select name="city" size="1" onchange="updateclock(this);"> 
<option value="" selected>Local time</option>
<option value="0">London GMT</option> 
<option value="1">Rome</option>
<option value="7">Bangkok</option>
<option value="8">Hong Kong</option>
<option value="9">Tokyo</option> 
<option value="10">Sydney</option>
<option value="12">Fiji</option>
<option value="-10">Hawaii</option>
<option value="-8">San Francisco</option> 
<option value="-5">New York</option>
<option value="-3">Buenos Aires</option>
</select>

</td>
  </tr>
  <tr>
    <td width="100%">
<script language="JavaScript">

/*
Drop Down World Clock- By JavaScript Kit (http://www.javascriptkit.com)
Portions of code by Kurt @ http://www.btinternet.com/~kurt.grigg/javascript
This credit notice must stay intact
*/

if (document.all||document.getElementById)
document.write('<span id="worldclock" style="font:bold 16px Arial;"></span><br />')

zone=0;
isitlocal=true;
ampm='';

function updateclock(z){
zone=z.options[z.selectedIndex].value;
isitlocal=(z.options[0].selected)?true:false;
}

function WorldClock(){
now=new Date();
ofst=now.getTimezoneOffset()/60;
secs=now.getSeconds();
sec=-1.57+Math.PI*secs/30;
mins=now.getMinutes();
min=-1.57+Math.PI*mins/30;
hr=(isitlocal)?now.getHours():(now.getHours() + parseInt(ofst)) + parseInt(zone);
hrs=-1.575+Math.PI*hr/6+Math.PI*parseInt(now.getMinutes())/360;
if (hr < 0) hr+=24;
if (hr > 23) hr-=24;
ampm = (hr > 11)?"PM":"AM";
statusampm = ampm.toLowerCase();

hr2 = hr;
if (hr2 == 0) hr2=12;
(hr2 < 13)?hr2:hr2 %= 12;
if (hr2<10) hr2="0"+hr2

var finaltime=hr2+':'+((mins < 10)?"0"+mins:mins)+':'+((secs < 10)?"0"+secs:secs)+' '+statusampm;

if (document.all)
worldclock.innerHTML=finaltime
else if (document.getElementById)
document.getElementById("worldclock").innerHTML=finaltime
else if (document.layers){
document.worldclockns.document.worldclockns2.document.write(finaltime)
document.worldclockns.document.worldclockns2.document.close()
}


setTimeout('WorldClock()',1000);
}

window.onload=WorldClock
//-->
</script>

<!--Place holder for NS4 only-->
<ilayer id="worldclockns" width=100% height=35><layer id="worldclockns2" width=100% height=35 left=0 top=0 style="font:bold 16px Arial;"></layer></ilayer>

</td>
</form>
  </tr>
</table>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Consegui um script perfeito em outro forum:

<script language="JavaScript">
    clocks = {
       'Londres GMT':0,
       'Roma':1,
       'Bangkok':7,
       'Hong Kong':8,
       'Tóquio':9,
       'Sidney':10,
       'Hawaii':-10,
       'San Francisco':-8,
       'Brasília':-3   
    }
    function updateTimer(){
       document.getElementById('clockContainer').innerHTML = worldClock();   
    }
    function worldClock(){
       now = new Date(); // pega a data
       time = now.getTime() + now.getTimezoneOffset() * 60 * 1000; // remove o offset (gmt)
       worldclock = '';
       for (zone in clocks) { // pra cada relogio setado
          reltime = time + clocks[zone] * 3600 * 1000; // recoloca o offset
          now.setTime(reltime); // seta a data no objeto Date
          worldclock += zone+': '+now.toLocaleTimeString()+'<br>';
       }
       return worldclock;
    }
    setInterval('updateTimer()',1000);
    </script>
    <div id='clockContainer'>&nbsp;</div>
Agora tem o problema do horário de verão, como eu faria pra detectar o horário de verão? Essas são as cidades que usarei e os seus respectivos horários de verão:
Montreal: GMT -5
DST started on Domingo, 8 de Março de 2009, 02:00 local standard time
DST ends on Domingo, 1 de Novembro de 2009, 02:00 local daylight time

New York: GMT -5
DST started on Domingo, 8 de Março de 2009, 02:00 local standard time
DST ends on Domingo, 1 de Novembro de 2009, 02:00 local daylight time

Brasília: GMT -3
DST ended on Domingo, 15 de Fevereiro de 2009, 00:00 local daylight time
DST starts on Domingo, 18 de Outubro de 2009, 00:00 local standard time

Paris: GMT 1
DST started on Domingo, 29 de Março de 2009, 02:00 local standard time
DST ends on Domingo, 25 de Outubro de 2009, 03:00 local daylight time

Hong Kong: GMT 8
não tem

London: GMT 0
DST started on Domingo, 29 de Março de 2009, 01:00 local standard time
DST ends on Domingo, 25 de Outubro de 2009, 02:00 local daylight time

Tókio: GMT 9
não tme

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...