mkdate

mkdate

Innleggav cord1 » ons 06.01.2010 13:46

Jeg kjører Opensuse 11.2 - 64
apache
php

ved kjøring av følgende kode:
<?php
$dagen = mktime(0, 0, 0, 1, 1, 1855);
echo date('Y-m-d',$dagen);
?>
får jeg 1855-01-01

ved overføring til min ISP blir resultatet 1970-01-01

Noen som kan forklare hva jeg må gjøre for å få ønsket resultat?
medlem i 170 måneder
 

Re: mkdate

Innleggav ak » ons 06.01.2010 20:01

Jeg tipper at ISPen kjører PHP som er eldre enn PHP 5.1.0

mktime og date baserer seg på UNIX timestamps, dvs sekunder siden 1. januar 1970, så de skal egentlig ikke funke utenom 1970-2038.

I PHP 5.2 har de introdusert DateTime objektet som er en langt mere fornuftig løsning.

Administrator
Brukerens avatar
medlem i 236 måneder
 

Re: mkdate

Innleggav trencH » fre 08.10.2010 15:24

Ser at spørsmålet ble stilt i Januar, men for de som skulle ha det samme problemet:

Her er det definert feil tidssone i php.ini.
Om man legger denne over dato-utskriften vil datoen bli riktig:

Kode: Merk alt
date_default_timezone_set("Europe/Oslo");
medlem i 178 måneder
 


Returner til PHP



Hvem er i Forumene

Registrerte brukere: Google [Bot]