Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]pytanie w sprawie daty
pkania128
post 15.11.2011, 18:45:48
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.07.2009

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


witam,
mam zakres dat wybierany z formularza np:
12.08.2012 - 18.08.2012

chciałbym wygenerować coś takiego

1. jeśli do dnia 12.08.2012 zostało (względem aktualnej daty) więcej niż 30 dni wyświetli mi wynik (datę) 12.07.2012
2. jeśli do dnia 12.08.2012 pozostało mniej niż 30 dni wyświetla mi aktualną datę + 2 dni.

zastosował bym coś takiego ale nie wiem jak rozdzielić ten zakres daty 12.08.2012 - 18.08.2012aby zostało tylko 12.08.2012

  1. $data = $_POST['zakres_dat'];
  2. $aktualna_data = date("Y.m.d");
  3. $pozostalo = (strtotime($data) - strtotime($aktualna_data)) / (60*60*24);
  4. echo "Pozostało ".$pozostalo." ;
Go to the top of the page
+Quote Post
celbarowicz
post 16.11.2011, 00:02:01
Post #2





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

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


  1. <?php
  2.  
  3. echo '<form name="f1" action="roznica.php" method="post">';
  4. echo '<select name="zakres"><option value="10.12.2011">10.12.2011</option>
  5. <option value="13.08.2012">13.08.2012</option>
  6. <option value="14.08.2012">14.08.2012</option>
  7. <option value="15.08.2012">15.08.2012</option>
  8. <option value="16.08.2012">16.08.2012</option>
  9. <option value="17.08.2012">17.08.2012</option>
  10. <option value="18.08.2012">18.08.2012</option>
  11. </select>';
  12.  
  13. echo '<input type="submit" value="dalej">';
  14.  
  15. echo '</form>';
  16.  
  17. if(!isset($_SESSION['zakres'])){$_SESSION['zakres']='12.08.2012';}else{$_SESSION['zakres']=$_POST['zakres'];}
  18.  
  19. echo '<br>';
  20.  
  21. $dzisiaj=date("d-m-Y");
  22.  
  23. echo $dzisiaj_plus_30 = date("d-m-Y",strtotime("$dzisiaj +30day"));
  24. echo '-->';
  25. echo $a=strtotime($dzisiaj_plus_30);
  26. echo '<br>';
  27. echo '------------------------------';
  28. echo '<br>';
  29. echo $b=$_SESSION['zakres'];
  30. echo '-->';
  31. echo $b=strtotime($_SESSION['zakres']);
  32.  
  33. echo '<br>';
  34. if($a<$b){echo 'zostało więcej niż 30 dni';echo '<br>'.'tutaj musisz popracować i pobawić się funkcjami czasu.';}else{echo 'zostało 30 lub mniej dni';
  35. echo '<br>';
  36. echo $wynik = date("d-m-Y", strtotime("$dzisiaj+2 day"));
  37. }
  38.  
  39. // Dla testów zmieniłem pierwsze pole w selekcie.
  40. //Niepotrzebne echa wykasuj.
  41. //Nie jest to super rozwiązanie ,ale...
  42.  
  43. ?>
  44.  
Go to the top of the page
+Quote Post
pkania128
post 16.11.2011, 17:07:02
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.07.2009

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


potestuje dzisiaj, mam nadzieje ze zadziała
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 20:24