Čas v PHP

Programovacie jazyky, rady, poradňa...
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

Viem že Admina netreba otravovať... nemohol by niekto polať takýto kód??? PLS :? Sám to neurobím :cry:
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

gwixt napísal:hej? a server vie v akej casovej zone je uzivatel??? :?

ak by vedel JS zistit v akej casovej zone je uzivatel tak nie je problem ...
akosi nechápem, to si snáď moja (atloxova) stránka mení svojvoľne server?
aby som ja nevedel, aký čas je na "mojom" servery? alebo sa jedná o niečo iné?

to atlox: načo si komplikovať život?
pozri si ukážku, rozmery sú samozrejme nastaviteľné
a ak máš záujem stiahni si to hodz2.zip
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

to zupanok: gwixt hovoril o tom ze server moze mat inu casovu zonu ako navstevnik, teda server moze byt zasity niekde v uzbekistane, zatial co uzivatel moze sediet pri Bordeoux niekde vo FR. Ako bude server vediet ze ten uzivatel je v tej ktorej casovej zone?
XilleR
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1125
Registrovaný: 16 júl 2005, 18:47
Kontaktovať používateľa:

Príspevok od používateľa XilleR »

toto som tak trosku ukradol a doplnil :wink: ...nerozpoznava to casove pasma, ale ten kto bude surfovat zo zahranicia si domysli, ze je v inom pasme ked je ta stranka po slovensky ....no keby si nahodou chcel aj to, viem o stranke, kde je to riesene cez IP adresy - no ukradnut to nejde, len spravit podla nich

Kód: Vybrať všetko

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title></title>
  <script type="text/javascript">
  <!--
  var clock_stamp;

    function clock_output()
    {
      var now = new Date(clock_stamp * 1000);
    
      h = now.getHours();
      m = now.getMinutes();
      s = now.getSeconds();
    
      if(h < 10)
        h = "0" + h;
      if(m < 10)
        m = "0" + m;
      if(s < 10)
        s = "0" + s;
    
      var ___hodiny = document.getElementById('clock');
      ___hodiny.innerHTML = h + ":" + m + ":" + s;
    }
    
    function clock_update()
    {
      clock_stamp += 1;
    
      var _hodiny = document.getElementById('clock');
      if (!_hodiny) return;  
    
      clock_output();
    }
    
    function clock_boot(stamp)
    {
      clock_stamp = stamp;
    
      clock_output();
      setInterval("clock_update();", 1000);
    }  
  -->
  </script>
  </head>
  <body>
<div id="time"><span id="clock"></span></div>
</ul>
<script type="text/javascript">clock_boot(<?php echo time()?>)</script>
  </div>
  </body>
</html>
ADD: len dodam je to .php nie HTML ako by si niekto podla hlavicky mohol mysliet :oops:
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

mastermind napísal:to zupanok: gwixt hovoril o tom ze server moze mat inu casovu zonu ako navstevnik, teda server moze byt zasity niekde v uzbekistane, zatial co uzivatel moze sediet pri Bordeoux niekde vo FR. Ako bude server vediet ze ten uzivatel je v tej ktorej casovej zone?
už to začínam pomaly chápať, akosi som nebral do úvahy, že na moju stránku môžu prísť aj z Bordeoux, aj keď na moju stránku chodia aj z Japonska (boti)zrejme ich moje hodiny netrápia
IgiPoP
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 446
Registrovaný: 12 sep 2005, 8:17
Bydlisko: MT

Príspevok od používateľa IgiPoP »

zupanok napísal:pozri si ukážku, rozmery sú samozrejme nastaviteľné
a ak máš záujem stiahni si to hodz2.zip
tvoje flashove hodiny su tiez ovplyvnehe lokalnym casom, cize casom na masine, kde sa stranka zobrazuje.



javascript sice moc nemusim, ale nedalo mi to a urobil som script, ktory zoberie serverovy cas a zobrazi ho u uzivatela pri zohladneni jeho casovej zony. samozrejme po requeste sa znovu nacita serverovy cas a znova sa zacne pocitat od neho.
ma to iba jednu chybu a to JavaScriptovy setInterval, ktory reaguje na systemove hodiny. cize ak pocas behu stranky zmenim cas napr o hodinu do predu, tak uz spominana funkcia sa bude sanazit dohnat tuto hodinu. ak do zadu, cas na stranke na hodinu zastane. mozno sa to da nejako osetrit, ale ako som uz spominal, JavaScript moc nemusim.

dufam, ze to niekomu bude na nieco.

Kód: Vybrať všetko

// php subor
<?php 
preg_match("/^([+|\-]{1})([0-9]{2})([0-9]{2})$/",date("O"), $matches);
$minut = $matches[1].(((int)$matches[2]*60)+(int)$matches[3]); //*(int)($matches[1].1);
$GMT = date( "m d Y H:i:s", mktime( date("H"), date("i")-$minut) );
?>
<html>
<head>
  <title>Hodiny podla servera v kazdej casovej zony</title>
  <script type="text/javascript">
    var serverTimeString = "<?=$GMT ?>"; //"9 12 2006 13:48:15";  // mesiac den rok ....
    var serverTime = Date.parse(serverTimeString);
    serverTime = new Date(serverTime);

    var localTime = new Date();
    var localZone = localTime.getTimezoneOffset();

    serverTime.setMinutes(serverTime.getMinutes() - localZone );

    function showGoodTime()
    {
      serverTime.setSeconds(serverTime.getSeconds() + 1);
      var hours = serverTime.getHours().toString();
      if( hours.length == 1 )
        hours = "0" + hours; 
      var minutes = serverTime.getMinutes().toString();
      if( minutes.length == 1 )
        minutes = "0" + minutes; 
      var seconds = serverTime.getSeconds().toString();
      if( seconds.length == 1 )
        seconds = "0" + seconds;

      document.getElementById('clock').innerHTML = hours + ":" + minutes + ":" + seconds; 
    } 

  </script>
</head>
<body>
  <span id="clock"></span>
  <script type="text/javascript">
    showGoodTime();
    var ourInterval = setInterval("showGoodTime()", 1000);
  </script>
  </body>
</html>
//spojil audiotrack
zupanok
Medium Star
Medium Star
Príspevky: 325
Registrovaný: 19 dec 2005, 18:43
Bydlisko: MT

Príspevok od používateľa zupanok »

IgiPoP napísal:...tvoje flashove hodiny su tiez ovplyvnehe lokalnym casom, cize casom na masine, kde sa stranka zobrazuje...
úplná pravda, ospravedlňujem sa všetkým za moju neznalosť,
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

sakra, ja som pozeral manual k JS objektu Date a getTimezoneOffset() som si nevsimol ... omg :roll:
atlox
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 230
Registrovaný: 15 aug 2006, 0:31
Bydlisko: Poprad
Kontaktovať používateľa:

Príspevok od používateľa atlox »

Ľudia veď vy ste tu samí génuis.... nemám čo dodať... ďakujem za postrehy a nápady.... :roll:
Napísať odpoveď