Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]funkcja date()
Ulysess
post
Post #1





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


dzień dobry mam taki problem potrzebuję zmienną zawirająca czas wyrażony w sekundach zamienić na godziny i wyświetlić i wygląda to tak lecz coś nie za bardzo działa..

  1. $czas = 3750;
  2. date('H:i:s',$czas)
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


No ale w czym problem (IMG:style_emoticons/default/questionmark.gif) Bo nie napisałeś (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Ulysess
post
Post #3





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


przyjmując ze zmienna $czas ma wartość 3600 chciałbym aby została wyświetlona w formacie dzień,ilość godzin,ilość minut dlatego zrobiłem tak jak wyżej i gdy wyświetlam wyskakuje 2:00
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(Ulysess @ 7.02.2010, 10:43:29 ) *
dlatego zrobiłem tak jak wyżej i gdy wyświetlam wyskakuje 2:00

yyy??
  1. $czas = 3750;
  2. echo date('H:i:s',$czas); //01:02:30

H - godzina (3600)
i - minuta (120)
s - sekunda (30)

Coś ci się musiało pomylić.
Go to the top of the page
+Quote Post
Ulysess
post
Post #5





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


właśnie o to chodzi że nie..
wyświetla mi "02:00:00" gdzie zmienna $czas na 100% wynosi 3600... ponieważ specialnie wyświetlam jaką ma zawartość.. nie wiem co jest grane :|
Go to the top of the page
+Quote Post
kefirek
post
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


  1. $czas = 3750;
  2.  
  3. $iH = sprintf("%02d",floor((($czas%604800)%86400)/3600));
  4. $iM = sprintf("%02d",floor(((($czas%604800)%86400)%3600)/60));
  5. $iS = sprintf("%02d",floor((((($czas%604800)%86400)%3600)%60)));
  6.  
  7. echo $iH.':'.$iM.':'.$iS;
Go to the top of the page
+Quote Post
Ulysess
post
Post #7





Grupa: Zarejestrowani
Postów: 695
Pomógł: 65
Dołączył: 27.07.2009
Skąd: Y

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


dzięki kefirek Twoje rozwiązanie działa ale czemu to "moje" rozwiązanie nie chce działać... :|

no nic chyba będę musiał skorzystać z przykładu który został podany tylko jak dodać jeszcze ilość dni ? kombinowałem ale nie rozumiem czemu przy obliczaniu ilości godzin jest coś takiego "04800" :|
Go to the top of the page
+Quote Post
kefirek
post
Post #8





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Dni będzie tak
  1. $iD = sprintf("%2d",floor($czas/(60*60*24)));
Go to the top of the page
+Quote Post
Virus_PL
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 1
Dołączył: 6.02.2010
Skąd: Toruń

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


Użyj do tego funkcji gmdate(). Funkcja ta potraktuje 3600 sekund jako godzinę, nie pobierając domyślnej strefy czasowej systemu operacyjnego i nie dostosowując się do niej. Przypuszczam, że masz PHP w wersji < 5.3, bo od tej wersji użycie funkcji date() bez ustawienia strefy czasowej funkcją date_default_timezone_set() zwraca warning (a od wersji 6 zapewne fatal error).
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: 25.08.2025 - 08:45