Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Znalezienie daty
Forum PHP.pl > Forum > Przedszkole
tomek85
Czy istnieje jakaś funkcja bądź przy pomocy jakich funkcji można by napisac funkcje ktora spowodowala by znalezienie daty majac podany liczbe dnia w roku i rok

Przykładowo mam dwie zmienne:

  1. $dzien_w_roku = 250;
  2. $rok = 2009;
  3.  
  4. // Jak znalesc dokładną datę czyli dzień i miesiąc ?
Kszyhuu
Możesz to zrobić dzięki zwykłej funkcji date(). Są tam przecież odpowiednie wartości. Dzień w roku wywoływany jest poprzez z. Przejrzyj dokładnie http://pl.wikibooks.org/wiki/PHP/Data_i_czas Po tej lekturze chyba nie będziesz już miał z tym problemu. winksmiley.jpg
jmail
zdaje się, że o coś takiego Ci biega?

  1.  
  2. <?php
  3.  
  4. function dayofyear2date( $dzien, $rok, $tFormat = 'Y-m-d' ) {
  5. $day = intval( $dzien );
  6. $day = ( $day == 0 ) ? $day : $day - 1;
  7. $offset = intval( intval( $day ) * 86400 );
  8. $str = date( $tFormat, mktime(0,0,1,1,1,$rok) + $offset );
  9. return( $str );
  10. }
  11.  
  12. echo dayofyear2date($dzien_roku,$rok);
  13.  
  14. ?>
  15.  

tomek85
Chodzi o to, że w php nie ma funkcji która by odejmowała lub dowałała datę o np. 1 lub 2 dni czy jest ? smile.gif

Dlatego chciałem sam napisac.

Czy może jednak jest taka funkcja ?

np. do zmiennej 2009-10-14 dodac 2 dni ? albo - 1 dzien ?
piotrooo89
yyyy może tak?

  1. $d = mktime(0,0,0, date('m'), date('d')+2, date('Y'));
  2. $date = strftime("%Y-%m-%d", $d);
  3. echo $date;
tomek85
a czy to bedzie dzialac jak data bedzie 2009-10-31 czy przypadkiem zrobi sie 2009-10-33 ?
piotrooo89
a czy to tak trudno sprawdzić?? proszę nie zadawaj takich pytań deczko samodzielności.
tomek85
No rzeczywiscie przepraszam - działa bez zarzutu masz ode mnie punkcik i przeprosiny
thek
Manipulacja datą? date + strtotime: http://pl2.php.net/manual/pl/function.strtotime.php
Popatrz jakie to proste. Naprawdę manual nie gryzie smile.gif
Przykłady z komentarzy:
  1. date('m/d/Y', strtotime('-1 week' ,strtotime('Wednesday', '2005-04-05')));

  1. $basedate = strtotime("15 Aug 2005 10:15:00");
  2. $date1 = strtotime("-1 day 2 hours", $basedate);
  3. $date2 = strtotime("-1 day -2 hours", $basedate);
  4. echo date("j M Y H:i:s", $date1); // 14 Aug 2005 12:15:00
  5. echo date("j M Y H:i:s", $date2); // 14 Aug 2005 08:15:00
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.