Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ujemny timestamp
Forum PHP.pl > Forum > PHP
scanner
Zaczyna być troche późno i szczerze, to już mi energii życiowej brakuje, więc zapytam:

Ma kto pod ręką jaką funkcję niezalezną od systemu, która ładnie pokaże datę dla np. takiego timestampa?
Cytat
-682473600
Gdzieś w manualu było, ale nie potrafie namierzyć...

Winshit niestety wali błędem
Cytat
Windows does not support dates prior to midnight (00:00:00), January 1, 1970
a aplikacja pod Windą musi działać poprawnie... (pod Linuxe/Un*xem też).

Aha... pod PHP5 jakby kto był ciekawy....
Ozzy
Cytat z zend.com:
"Derick had decided to rewrite date support in full for php 5.1,"
"Derick plans to add a new type in php core - the date object. All core date functions will return the date object, and all the functions within the date_time extension - which will become part of the standard distribution - will use it."

Short version: There really were years before 1970, and we may be able to work with them properly soon.

Jeszcze chwilka i nie będzie z tym problemów;)
scanner
Ale nie każdy może poczekać "tę chwilkę"...
Wiem, że PEAR ma w swoich zasobach jakieś mechanizmy, ale gruszki lubie jeść a nie wkładać w moje aplikacje...
Ozzy
Podpatrz jak to zrobili w Gruszce i napisz swoje:)
http://pear.php.net/package/Date
DeyV
Niestety - nawet Pear'owska konstrukcja nie radzi sobie domyślnie z ujemnym UNIX TIME pod windowsem.
Można to jednak bardzo łatwo przeskoczyć, przy pomocy funkcji subtractSeconds()
np.
  1. <?php
  2.  
  3. include 'Date.php';
  4.  
  5. $dat = new Date;
  6. $dat->setDate(0, DATE_FORMAT_UNIXTIME ); //ustawiamy czas $dat na rok 1970
  7.  
  8. $dat->subtractSeconds( 682473600 );
  9. echo $dat->getDate();
  10.  
  11. ?>
scanner
DeyV: dzięki serdeczne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.