Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: czas UNIX na d G:i:s
Forum PHP.pl > Forum > Przedszkole
Sky_walker
Mam czas zapisany w formacie UNIXowym eg. 252 i teraz chce go przekonwertować na postać: Dni Godziny:Minuty:Sekundy.
Kombinowałem, żeby zrobić to przy pomocy Date:
  1. <?php
  2. date('d G:i:s', $czas);
  3. ?>

Niestety, to nie to, gdyż on sobie konwertuje to na date od 19...któregośtam, więc w wyniku otrzymuję
01 1:04:12 (to wynik z $czas=252).
I nie wiem, jak zrobić, żeby wyświetlił to poprawnie (dla $czas=252; powinno to być 4:12)

I jeszcze drugie pytanie: Jak przekonwertować czas na postać Dni Godziny:Minuty:Sekundy ('d G:i:s') wraz z odpowiednim opisem, eg. 1 dzień 2 godz. 25:34 lub 1 godz. 42:13, zależnie od tego ile czasu jest w zmiennej $czas. Chodzi mi o taki myk, żeby wyświetlał odpowiedni opis tylko wtedy kiedy trzeba (24:14, a nie 0 dzień 0 godz. 24:14).
NuLL
date" title="Zobacz w manualu php" target="_manual - Moze byc laskawie zajrzal na ta strone questionmark.gif
q
tak powaznie to srednio wiem co to za format UNIX'a, ale nie zmienia to faktu ze 252 wg Ciebie powinno wygladac jak 4:12 , to nie jest to nic innego jak liczba minut, aby to uzyskac trzeba :

  1. <?php
  2. $czas = 252;
  3. echo (int)($czas/60) . ($czas%60);
  4. ?>
Sky_walker
lol... o tym nie pomyślałem... dzięki q biggrin.gif
choć pewnie 100% profesjonalizmu to to nie jest... ale ma działać ;P
NuLL
OT: Na przyszlosc - czas unixa nazywany timestampem jest to liczba sekund ktora mija od epoki Unixa czyli 1 stycznia 1970 roku.
Coolmax
Cytat(q @ 6.09.2006, 16:13:08 ) *
tak powaznie to srednio wiem co to za format UNIX'a, ale nie zmienia to faktu ze 252 wg Ciebie powinno wygladac jak 4:12 , to nie jest to nic innego jak liczba minut, aby to uzyskac trzeba :

  1. <?php
  2. $czas = 252;
  3. echo (int)($czas/60) . ($czas%60);
  4. ?>

Przykład jest prosty, ale z moim nie mogę sobie poradzić. Jak na razie udało mi się wykombinować zwracanie ilości sekund od timestampa, dla podanej daty, np. 551740860 i teraz chciałbym zamienić to dokładnie na ilość lat, miesięcy, dni, godzin, minut, sekund. Napiszcie mi czy dobrze myśle:
  1. <?php
  2. $ts = 551740860;
  3. $min = (int)($ts/60);
  4. $sek = $ts%60;
  5. echo $min . " : " $sek;
  6. ?>

Teraz aby otrzymać godziny muszę to samo zrobić z $min, itd?
Cytat
Przy konwersji z liczb zmiennoprzecinkowych do całkowitych, liczba zostanie zaokrąglona w dół.

Jeżeli sposób, który podałem jest prawidłowy, to przez zaokrąglanie w dół, może trochę czasu "uciec"?

---
Jednak jest to trudniejsze :-(
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.