HKRoed Skrevet 18. juli 2011 Del 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? :-) Lenke til kommentar
HKRoed Skrevet 18. juli 2011 Forfatter Del Skrevet 18. juli 2011 date_default_timezone_set('UTC'); hjalp ikke. Lenke til kommentar
Tom_ Skrevet 19. juli 2011 Del 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" Lenke til kommentar
HKRoed Skrevet 19. juli 2011 Forfatter Del 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 Lenke til kommentar
xqus Skrevet 19. juli 2011 Del Skrevet 19. juli 2011 Ta en titt på http://www.php.net/manual/en/class.datetime.php. Kanskje det fungerer for deg. Lenke til kommentar
HKRoed Skrevet 19. juli 2011 Forfatter Del 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å? Lenke til kommentar
TheClown Skrevet 19. juli 2011 Del 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 Lenke til kommentar
xqus Skrevet 19. juli 2011 Del 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 Lenke til kommentar
HKRoed Skrevet 20. juli 2011 Forfatter Del 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? :-) Lenke til kommentar
FraXinuS Skrevet 20. juli 2011 Del Skrevet 20. juli 2011 echo strftime('%A %d %B', strtotime('+1 day')); Lenke til kommentar
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å