Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem sylwestrowy, błąd z mktime pod koniec 2008
timon27
post
Post #1





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Chcę sobie przekonwertować datę. Robię to tak:
Kod
<?
        //mktime(hour,minute,second,month,day,year);
$unix=mktime(23,48,10,12,29,2008);
        echo("$unix<br>");
$data=date("l d M o H:i:s\, \+0000", $unix);
        echo("$data");
?>


skrypt działa świetnie, póki w parametrach mktime nie wpisze końcówki 2008 roku (ostatnie 3 dni) - wtedy w wyniku otrzymuje 2009 rok (przy innych latach to nie działa!).

wynik:
Kod
1230590890
Monday 29 Dec 2009 23:48:10, +0000


czas unix już jest błędny więc to wina funkcji mktime, jednak nie mam pojęcia czemu się tak zachowuje. Ktoś wie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
black.old.cat
post
Post #2





Grupa: Zarejestrowani
Postów: 37
Pomógł: 8
Dołączył: 8.11.2009

Ostrzeżenie: (0%)
-----


  1. <?php
  2. echo date("l d M Y H:i:s", mktime(23,48,10,12,29,2008))."<br>\n";
  3. ?>


Cytat
Poniższych znaków używa się jako tekstu w parametrze format :
(...)
o - Numer roku, zgodny z normą ISO-8601. Zwraca to taką samą wartość jak Y, z takim wyjątkiem, że numer tygodnia ISO (W) należy do poprzedniego lub następnego roku, niż rok użyty w tym miejscu. (dodane w PHP 5.1.0)
Y - Pełna liczbowa forma roku, 4 cyfry

( pl2.php.net/manual/pl/function.date.php )
Go to the top of the page
+Quote Post
timon27
post
Post #3





Grupa: Zarejestrowani
Postów: 578
Pomógł: 69
Dołączył: 15.04.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Prawdę mówiąc w ogóle nie rozumiem zasady działania 'o'. Ale oczywiście z 'Y' wszystko w porządku.

thx
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:42