HKRoed Skrevet 18. juli 2011 Skrevet 18. juli 2011 Hei! Jeg bruker dette scriptet for å hente ut ønsket dag mellom 01 og 42 <?php $dager = floor(mktime() / 86400); // 60 * 60 * 24 = 86400 $dagNr = ($dager % 42) + 1; if($dagNr <= 9 && $dagNr >= 1) $dagNr = "0{$dagNr}"; Men akkurat nå skulle filen 13.php vært hentet, men frem til kl 0200 hentes 12.php. Dette er jo pga tidssonen vi er i Jeg har også følgende script på plass, uten at det da hjelper: <?php date_default_timezone_set('Europe/Oslo'); setlocale(LC_ALL, 'no_NO'); ?> Noen som kan hjelpe? :-)
HKRoed Skrevet 18. juli 2011 Forfatter Skrevet 18. juli 2011 date_default_timezone_set('UTC'); hjalp ikke.
Tom_ Skrevet 19. juli 2011 Skrevet 19. juli 2011 Jeg hadde samme problemet helt til jeg gikk inn i php.ini fila og rettet det opp der. [Date] date.timezone = "Europe/Oslo"
HKRoed Skrevet 19. juli 2011 Forfatter Skrevet 19. juli 2011 Siden jeg bruker dette scriptet hos one.com, har jeg ikke tilgang til pgp.ini fila. Ser følgende i php.ini: date/time support - enabled "Olson" Timezone Database Version - 2011.4 Timezone Database - internal Default timezone - UTC
xqus Skrevet 19. juli 2011 Skrevet 19. juli 2011 Ta en titt på http://www.php.net/manual/en/class.datetime.php. Kanskje det fungerer for deg.
HKRoed Skrevet 19. juli 2011 Forfatter Skrevet 19. juli 2011 Testet med date_default_timezone_get, og det var UTC Satt da date_default_timezone_set('Europe/Oslo');, og fikk endret det til riktig tidssone. Jeg tror problemet ligger her: $dager = floor(mktime() / 86400); Finnes det noen bedre måte og få hentet riktig tid på?
TheClown Skrevet 19. juli 2011 Skrevet 19. juli 2011 Regn ut tidsforskjellen fra serveren og tiden du vil ha. Så legger du vare til antall sekunder som du ønsker +7200 vil stemme. Så lager du bare en if-spørring som sjekker om det er sommertid eller ikke. Er det ikke sommertid skal du bare legge til 3600. Enkelt og greit
xqus Skrevet 19. juli 2011 Skrevet 19. juli 2011 (endret) $date = new DateTime('now', new DateTimeZone('Europe/Oslo')); $dager = ($date->getTimestamp() + $date->getOffset()) / 86400; // 60 * 60 * 24 = 86400 $dagNr = ($dager % 42) + 1; $date->getOffset() vil returnere 7200 når det er sommertid, og 3600 når det er vintertid. Endret 19. juli 2011 av xqus
HKRoed Skrevet 20. juli 2011 Forfatter Skrevet 20. juli 2011 Tusen takk. Funger som fy :-) Har egentlig samme problem der jeg henter ut dagnavnene de neste 7 dagene og. Har til nå brukt dette: <?php $tomorrow = strftime("%A %d %B", time()+86400); echo $tomorrow; ?> Men det henger jo og 2 timer etter. Går det ann å legge til en funksjon som finner riktige dagnavn (Mandag, Tirsdag osv) til dette scriptet? :-)
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå