Pagina 4 di 5 primaprima ... 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 31 a 40 su 43

Discussione: Date e timezone

  1. #31
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ciao hai pienamente raggione scusa :
    ho fatto cosi perche con date('Z') stabilisco il defoult del server , come ho detto precedentemente il mio e a 7200 quindi un ora avanti ! sinceramente non riesco a capire dove prende questo 7200 visto che windows l ho con il fuso orario italiano +1 comunque


    una volta che capisco dove si trova ilfuso orario del server lo faccio partire con il fuso orario di default inoltre nel database viene salvato un dato che potrebbe essere -3600 o 3600
    con la funzione substr vedo se c e ----- e ordino di fare un determinato calcolo altrimenti un altro ! comunque sinceramente non sono tanto convinto
    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'
    break;
    case 
    '-39600'
    break; 
    case 
    '-36000'
    break;
    case 
    '-32400'
    break;
    case 
    '-28800'
    break;
    case 
    '-25200'
    break;
    case 
    '-21600'
    break;
    case 
    '-18000'
    break;
    case 
    '-14400'
    break;
    case 
    '-12600'
    break;
    case 
    '-10800'
    break;
    case 
    '-7200' 
    break;
    case 
    '-3600' 
    break;
    case     
    '0' :
    break;
    case  
    '3600' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -=     ;else  $localtimezone  -= 3600 ; break;
    case  
    '7200' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -=  3600 ;else  $localtimezone  -= 7200 ;  break;
    case 
    '10800' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -=  7200 ;else  $localtimezone  -= 10800  ;  break;
    case 
    '12600' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 10800 ;else  $localtimezone  -= 12600  ;  break;
    case 
    '14400' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 12600 ;else  $localtimezone  -= 14400  ;  break;
    case 
    '16200' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 14400 ;else  $localtimezone  -= 16200  ;  break;
    case 
    '18000' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 16200 ;else  $localtimezone  -= 18000  ;  break;
    case 
    '19800' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 18000 ;else  $localtimezone  -= 19800  ;  break;
    case 
    '20700' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 19800 ;else  $localtimezone  -= 20700  ;  break;
    case 
    '21600' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 20700 ;else  $localtimezone  -= 21600  ;  break;
    case 
    '23400' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 21600 ;else  $localtimezone  -= 23400  ;  break;
    case 
    '25200' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 23400 ;else  $localtimezone  -= 25200  ;  break;
    case 
    '28800' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 25200 ;else  $localtimezone  -= 28800  ;  break;
    case 
    '32400' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 28800 ;else  $localtimezone  -= 32400  ;  break;
    case 
    '34200' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 32400 ;else  $localtimezone  -= 34200  ;  break;
    case 
    '36000' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 34200 ;else  $localtimezone  -= 36000  ;  break;
    case 
    '39600' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 36000 ;else  $localtimezone  -= 39600  ;  break;
    case 
    '43200' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 39600 ;else  $localtimezone  -= 43200  ;  break;
    case 
    '46800' :if( substr(trim($localtimezone)  , 0,1)  == '-' )$localtimezone  -= 79200 ;else  $localtimezone  -= 46800  ;  break;
    }
        
    $timeline += $localtimezone 
         return 
    date($dateformat$timeline ) ; 
    }
         return 
    date($dateformat$timeline  );  

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

  2. #32
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    NO!
    Su Windows hai fuso orario +1 e poi un altro +1 per l'ora legale che è attualmente in vigore!

    Quindi 2 x 3600 = 7200

    Capito adesso?

  3. #33
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ma questo script secondo te com e ? corretto adesso dovrei mettere la data anche quando e 0 e inizia ad andare -3600
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #34
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Ma non l'ho neanche letto, se prima non capisci come funzionano gli orari che senso ha? Sarà sbagliato di sicuro.

  5. #35
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    adesso ho capito gli orari , mi sono informato comunque la funzione che da sto script che se il server e settato a 3600 , mi restituisce l orario del pcanche se non sono sicuro per gli altri orari adesso cosi com e funziona perfettamente dagli un occhiata perfavore
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #36
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    poi ho notato che se cambio il fuso orario al pc non mi cambia l ora dello script rimane tale e quale
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  7. #37
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Quote Originariamente inviata da rocco.mod Visualizza il messaggio
    adesso ho capito gli orari , mi sono informato comunque la funzione che da sto script che se il server e settato a 3600 , mi restituisce l orario del pcanche se non sono sicuro per gli altri orari adesso cosi com e funziona perfettamente dagli un occhiata perfavore
    Invece non hai capito proprio e lo dimostri nel post seguente.

    Quote Originariamente inviata da rocco.mod Visualizza il messaggio
    poi ho notato che se cambio il fuso orario al pc non mi cambia l ora dello script rimane tale e quale
    Se cambi il fuso di Windows, cambia anche quello del server, perché il server ce l'hai sul tuo PC, per questo non ti accorgi del cambiamento.

    Io ci rinuncio, spera che ti risponda qualcun altro.

  8. #38
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ma la differenza almeno e corretta?
    case '3600' :if(substr(trim($localtimezone),0,1)== '-' )$localtimezone =- 0;else $localtimezone = 0 ; break;
    case '7200' :if(substr(trim($localtimezone),0,1)== '-' )$localtimezone -= 0;else $localtimezone -= 3600 ; break;
    case '10800' :if(substr(trim($localtimezone),0,1)== '-' )$localtimezone -= 3600;else $localtimezone -= 7200 ; break;
    a 3600 dovrebbe essere 0 visto che e l ora di default
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  9. #39
    It is not so Significant to know how to do, when to have d Craving
    to learn.
    http://nospam/
    Ultima modifica di Alhazred; 10-07-2014 a 10:27

  10. #40
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,804
    ho trovato questa funzione sul sito di php.net , e velida ma quando metto l offset del sito o user muore li perche ?
    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") == ){
            if (
    substr($localtimezone01) == '-')
                {
                        
    $timeline  -=  timezone_offset_string($localtimezone );
                }
                        
    $timeline  +=  timezone_offset_string($localtimezone);
       }    
         return 
    date($dateformat$timeline ) ; 
    }
    function 
    timezone_offset_string$offset )
    {
            return 
    sprintf"%s%02d:%02d", ( $offset >= ) ? '+' '-'abs$offset 3600 ), abs$offset 3600 ) );

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

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.