Just nu i M3-nätverket
Gå till innehåll

mktime()


webkjella

Rekommendera Poster

Jag har fått ett problem.

Jag skapar ett timestamp med följande rader.

mktime(0,0,0,07,24,2007);

 

Timestampet blir:

1185228000

 

sedan delar jag timestampet med 60 för minuter och 60 igen för timmar och tillslut 24 för dygnen eller delar med 86400 som är sekunder /dygn.

Svaret blir:

13717.9166667

 

Hur kan svaret bli med decimaler när mktimes tid är 0. Decimalerna trillar på när jag delar med 24. Är det där felet kan ligga?

 

Mvh

Kjell

 

 

 

Länk till kommentar
Dela på andra webbplatser

Det är ju ren matematik.

Du utför ju ett antal divisions-uträkningar på ett tal och till slut får du en summa som är med decimaler.

 

Vad är det du vill med din uträkning?

 

Länk till kommentar
Dela på andra webbplatser

Timestamp räknas från 1970-01-01 00:00

och om jag skriver in 2007-07-24 00:00

 

Så borde svaret bli 13718.

För det är exakt så många dagar som är mellan dessa datum.

 

Någonting gör jag säkert fel i och med att svaret blir 13717.9166667 och inte 13718 som jag vill ha det till.

 

Länk till kommentar
Dela på andra webbplatser

Det är alltså två timmars diff det handlar om. Låter som det kan ha med dels timmen som skiljer GMT från sverige (där du kör servern) och möjligtvis även DST, som orsakar den andra timmens diff.

 

Länk till kommentar
Dela på andra webbplatser

Jag provade med gmmktime istället och det ser ut att fungera som det är tänkt nu.

Tack för all hjälp.

 

Mvh

Kjell

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...