Pagina 3 di 5 primaprima 1 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 43

Discussione: Date e timezone

  1. #21
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Chiederei il fuso orario all'utente e se da lui si cambia tra ora solare e legale.
    In base a queste informazioni deciderei cosa fare.

    Se il fuso scelto è uguale a quello del server non si fa niente.
    Se il fuso orario è diverso si prende il timestamp del server e si fa +/- (a seconda se il fuso dell'utente è avanti o indietro rispetto al server) ore_di_differenza x 3600
    Se il server fa il cambio ora solare/legale e anche l'utente, allora basta
    Se il server fa il cambio ora solare/legale e l'utente no, allora devi vedere se attualmente il server è sull'ora legale, in tal caso si fa un ulteriore -3600 altrimenti no.

  2. #22
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    Mi sta ad arrivare il mal di testa() comunque si darò la possibilità all utente di scegliersi il fuso orario , di default sarà 0 così fino a che l utente non modifica rimane l ora del server ! Però una volta che lui segliera ' il suo timezone dovrei sottrarlo a quello del server poi esiste una maniera per vedere il timezone che sta usando il server? Sto esaurendo per favore aiutami
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  3. #23
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    strano facendo echo date("P" ).'<BR>'.date("e" ) ; mi da come fuso orario +2 e Europe/Paris ma perche se sul pc e settato +1
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #24
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Perché sta calcolando anche l'ora legale rispetto all'ora di riferimento UTC.

    Dovresti studiarti un po' come si usano gli orari, non in PHP, in generale.

  5. #25
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    facendo cosi ,mi da un ora in meno
    Codice PHP:

      
    function GeteDateTime$dateformat )
    {
            global 
    $settings,$RCW ;

        
    $timeline time();
        
    $usertimezone   $RCW['user']['usertimezone'];
        
    $servertimezone $settings['timezone'];
        
    $localtimezone iff$RCW['user']['usertimezone'], $RCW['user']['usertimezone'],$settings['timezone']  );

        if ( 
    date"I"$timeline ) == )
        {
            
    $localtimezone =  iff($RCW['user']['usertimezone'], $RCW['user']['usertimezone'],);
            return 
    date($dateformat$timeline + ($localtimezone));
        }
        return 
    date($dateformat$timeline + ($localtimezone) * 3600);

    Ultima modifica di rocco.mod; 08-07-2014 a 18:08
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #26
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    Comunque grazie con questa scusa del php ho imparato cos e l ora solare e l ora universale ! Comunque facendo gmdate("I") dovrebbe darmi come risultato 0 visto che attualmente uso l ora locale! Devo provare sono curioso!!!!
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  7. #27
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ciao cosa ne pensate du questa funzione ! il mio server locale e 7200 quindi 2 ore in piu !!!!
    cosa ne pensate di questa funzione che controlla lo stato del propio server e imposta il default :
    Codice PHP:
        function GeteDateTime$dateformat )
    {
            global 
    $settings,$RCW ;
           
    $usertimezone   $RCW['user']['usertimezone'];
        
    $servertimezone $settings['timezone'];
        
    $localtimezone  iff$RCW['user']['usertimezone'], $RCW['user']['usertimezone'],$settings['timezone']  );
        
    $timeline time();
        if ( 
    date"I"$timeline ) == )
        {
         
    $data_Z  date("Z");
         switch (
    trim($data_Z))
          {
         case 
    '-43200'$timeline += $localtimezone  43200; break;
         case 
    '-39600'$timeline += $localtimezone  39600; break; 
         case 
    '-36000'$timeline += $localtimezone  36000; break;
         case 
    '-32400'$timeline += $localtimezone  32400; break;
         case 
    '-28800'$timeline += $localtimezone  28800; break;
         case 
    '-25200'$timeline += $localtimezone  25200; break;
         case 
    '-21600'$timeline += $localtimezone  21600; break;
         case 
    '-18000'$timeline += $localtimezone  18000; break;
         case 
    '-14400'$timeline += $localtimezone  14400; break;
         case 
    '-12600'$timeline += $localtimezone  12600; break;
         case 
    '-10800'$timeline += $localtimezone  10800; break;
         case 
    '-7200' $timeline += $localtimezone  7200;  break;
         case 
    '-3600' $timeline += $localtimezone  3600;  break;
         case     
    '0' $timeline += $localtimezone  0;     break;
         case  
    '3600' $timeline += $localtimezone  1800 ; break;
         case  
    '7200' $timeline += $localtimezone  3600 ; break;
         case 
    '10800' $timeline += $localtimezone  7200 ; break;
         case 
    '12600' $timeline += $localtimezone  10800; break;
         case 
    '14400' $timeline += $localtimezone  12600; break;
         case 
    '16200' $timeline += $localtimezone  -14400;  break;
         case 
    '18000' $timeline += $localtimezone  -16200;  break;
         case 
    '19800' $timeline += $localtimezone  -18000;  break;
         case 
    '20700' $timeline += $localtimezone  -19800;  break;
         case 
    '21600' $timeline += $localtimezone  -20700;  break;
         case 
    '23400' $timeline += $localtimezone  -21600;  break;
         case 
    '25200' $timeline += $localtimezone  -23400;  break;
         case 
    '28800' $timeline += $localtimezone  -25200;  break;
         case 
    '32400' $timeline += $localtimezone  -28800;  break;
         case 
    '34200' $timeline += $localtimezone  -32400;  break;
         case 
    '36000' $timeline += $localtimezone  -34200;  break;
         case 
    '39600' $timeline += $localtimezone  -36000;  break;
         case 
    '43200' $timeline += $localtimezone  -39600;  break;
         case 
    '46800' $timeline += $localtimezone  -43200;  break;
    }
         }
        return 
    date($dateformat$timeline  );

    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #28
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ho fatto na fesseria
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  9. #29
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    a chi potesse interessare ho risolto cosi
    Codice PHP:
    if( substr(trim($localtimezone) , 0,1)  == '-' 
       
    $localtimezone  += ;
       else
       
    $localtimezone  -= 3600  
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  10. #30
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Beh, io non la proporrei come soluzione per altri.
    Primo perché non si capisce che cosa risolve, poi perché non si capisce che cosa faccia.

    Spiega un po' cosa dovrebbe risolvere.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.