Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]zmiana systemu dnia z 24 na 16 godzinny., Czyli jak dodać 8 godzin gdy zdarzenie wystepuje po 22:00
neo1986kk
post
Post #1





Grupa: Zarejestrowani
Postów: 561
Pomógł: 3
Dołączył: 2.02.2009

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


Witam, mam plan produkcji, chodzi o to że zaklad nie pracuje na 3 zmiany i kiedy czas produkcji przekracza godzinę 22:00 powinno przeskawiać na 6:00. Czyli początek o godzinie 21:00 coś ma trwać 2 godziny więc skończy sie o 7:00 następnego dnia. Czy ktoś z was zna ten problem, jak można to rozwiąząć?
Pozdrawiam.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
celbarowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


Podaję przykład jak można to zrobić. Kod jest rozwlekły, aby można samemu dostosować go do własnych potrzeb.Po wyrzuceniu rzeczy niepotrzebnych i przerobieni go zostanie tylko kilka linijek.


  1.  
  2. $obecna_data_i_godzina=date("Y-m-d H:i:s",time());
  3.  
  4.  
  5. echo $obecna_data_i_godzina; echo '<br>';
  6. echo 'obecna data='; echo $obecna_data = date("Y-m-d");echo '<br>';
  7. echo 'obecna godzina='; echo $obecna_godzina = date("H:i:s");echo '<br>';
  8. $godzina_do_zapisu=strtotime($obecna_godzina);
  9. $data_do_zapisu= $obecna_data ;
  10. $godzina22_00_00="22:00:00"; $godzina06_00_00="06:00:00";
  11.  
  12. echo 'granica_gorna='; echo $granica_gorna=strtotime($godzina22_00_00); echo '<br>';
  13. echo 'granica_dolna='; echo $granica_dolna=strtotime($godzina06_00_00); echo '<br>';
  14. echo 'obecna_godzina_inaczej='; echo $obecna_godzina_inaczej=strtotime($obecna_godzina); echo '<br>';
  15.  
  16. if($obecna_godzina_inaczej>$granica_gorna){ $godzina_do_zapisu=$obecna_godzina_inaczej-16*60*60;
  17. $data_do_zapisu=date("Y-m-d", (strtotime($obecna_data)+60*60*24)) ;
  18. }else{}
  19.  
  20. if($obecna_godzina_inaczej<$granica_dolna){ $godzina_do_zapisu=$obecna_godzina_inaczej+6*60*60;
  21. $data_do_zapisu=date("Y-m-d", (strtotime($obecna_data)+60*60*24)) ;
  22. }else{}
  23.  
  24. $godzina_zapis=date("H:i:s",$godzina_do_zapisu);
  25. echo '----------------------wynik-------------------------';echo '<br>';
  26. echo 'godzina_zapis=';echo $godzina_zapis; echo '<br>';
  27. echo 'data_zapis=';echo $data_do_zapisu; echo '<br>';
  28.  

testować zmieniając datę i czs w systemie.
pozdrawiam/ celbarowicz

poprawka
  1. if($obecna_godzina_inaczej<$granica_dolna){ $godzina_do_zapisu=$obecna_godzina_inaczej+6*60*60;
  2. $data_do_zapisu=date("Y-m-d", (strtotime($obecna_data))) ;
  3. }else{}
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 09:27