Autor | Zpráva | ||
---|---|---|---|
majo80 Profil * |
#1 · Zasláno: 9. 9. 2010, 17:10:04
Mám dva dátumy v klasickom tvare DD.MM.RRRR, napr. 09.09.2010 a 15.09.2010
Ako by som mohol vyrátať 15.09.2010 - 09.09.2010 tak aby mi vyšiel výsledok 6 dní? |
||
Taps Profil |
#2 · Zasláno: 9. 9. 2010, 18:03:29 · Upravil/a: Taps
majo80:
zkus třeba $rozdil=mktime(0,0,0,9,15,2010) - mktime(0,0,0,9,9,2010); echo $rozdil/(3600*24); |
||
Darker Profil |
#3 · Zasláno: 9. 9. 2010, 18:13:56 · Upravil/a: Darker
Nevím co znamená vyrátať, promiň ale předpokládám, že chceš zjistit, podle titulku, počet dní mezi datumy.
Rozdělíme si datum na tři proměnné. $den=Date("j"); $mesic=Date("n"); $rok=Date("j"); $denvroce=Date("z"); $den2=9; $mesic2=9; $rok2=2010; $denvroce2=251; //Nyní zjistíme počet dní v aktuálním roce a roce 2010 $rok_dnu=$rok%4==0?366:365; $rok_dnu=$rok%4==0?366:365; //teď spočítáme rozdíl let, předpokládám, že dnešní datum bude pozdější než to pevně zadané $rozdil_let=$rok-$rok2; //Rozdíl let vynásobíme počtem dní na rok a zaokrouhlíme (čtvrt dne se v tom ztratí.) $roky_dnu=round($rozdil_let*365.25); //Rozdíl let mezi měsíci //Tady to by to bylo složitější, bude snažší zjistit kolikátý je daný den v roce, a to já neumím (nebo se mi nechce přemýšlet, čert to vem), takže jsem ho zadal při vstupu $rozdil_dnu=$denvroce-$denvroce2; echo "Celkový rozdíl je ".($roky_dnu+$rozdil_dnu)." dní" K indexu dne v roce se dostaneš tak, že někam zapíšeš počty dní na každý měsíc, kro dubna, ten bude mít $duben_dni=28+Date("L")//Date("L") vrací 1 v přestupném roce nebo, pokud nepůjde o tento rok $duben_dni=$rok_tohoto_dubna%4==0?29:28 Tak už nic, nestihl jsem to napsat, a navíc koukám, že se to dá udělat snadno. Taps mě předběhl |
||
Majkl578 Profil |
#4 · Zasláno: 9. 9. 2010, 18:34:16 · Upravil/a: Majkl578
$datetime1 = new DateTime('15.09.2010'); $datetime2 = new DateTime('09.09.2010'); $interval = $datetime1->diff($datetime2); echo $interval->days; |
||
gtext Profil * |
#5 · Zasláno: 9. 9. 2010, 18:37:35
majo80:
a kdyz se vratime z výletu do historie tak tady mas "dnesni" reseni http://www.php.net/manual/en/datetime.diff.php |
||
gtext Profil * |
#6 · Zasláno: 9. 9. 2010, 18:38:47
majkl to sem dal driv. taky by to mohlo pred odeslanim ukazat jestli nekdo nepridal neco noveho.
|
||
panther Profil |
#7 · Zasláno: 9. 9. 2010, 18:38:48 · Upravil/a: panther
Darker:
„Nevím co znamená vyrátať“ spočítat. Ach, ti zahraniční pisatelé, že? :-) gtext: „taky by to mohlo pred odeslanim ukazat jestli nekdo nepridal neco noveho.“ tahle funkce tu je, asi jsi nedával pozor. |
||
Časová prodleva: 15 let
|
0