Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] jak obliczyć różnce pomiedzy datami
raak07
post 14.11.2007, 13:52:57
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


jak obliczyć różnce pomiedzy datami
ale gdy rok jest wcześniejszy niż
zaczeła się uniksowa Epoka (1 stycznia 1970)
np. jaki czas upłyną od:
bitwy pod Grunwaldem w roku 1410
lub
bitwy pod Maratonem w roku 490 p.n.e.

proszę o pomoc
pozdrawiam

Ten post edytował raak07 15.11.2007, 13:00:21
Go to the top of the page
+Quote Post
enigma
post 14.11.2007, 19:06:53
Post #2





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

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


Google wiedzą tongue.gif
a sposób zależy czy dane są z bazy czy nie
np.:
sp.1
sp.2
Go to the top of the page
+Quote Post
raak07
post 15.11.2007, 00:50:26
Post #3





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


dzieki
link sp.1 nie działa

moje pytanie nie bylo precyzyjne
i chodzilo mi o wyliczenie roznicy wymienionych dat
do daty biezacej

pozdrawiam

Ten post edytował raak07 15.11.2007, 01:06:05
Go to the top of the page
+Quote Post
MajareQ
post 15.11.2007, 09:09:08
Post #4





Grupa: Zarejestrowani
Postów: 382
Pomógł: 22
Dołączył: 21.05.2007
Skąd: Elbląg

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


Mówi ci coś date(d.m.Y) - $_POST['data1'] questionmark.gif

Ten post edytował MajareQ 15.11.2007, 09:09:23
Go to the top of the page
+Quote Post
raak07
post 15.11.2007, 12:59:12
Post #5





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 10.09.2007

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


  1. <?php
  2. $data = "1970-01-02";
  3. $biezaca_data = date("Y-m-d"); 
  4. $roznica = (strtotime($biezaca_data) - strtotime($data)) / (60*60*24);
  5. print "Od ".$data." do ".$biezaca_data." było ".$roznica." dni<br>";
  6. ?>


do tej wstecznej daty (1970-01-02) wszystko jest ok
(od 1970-01-01 rozpoczela sie Epoka Linuxa)

jak wiec obliczyc ilosc dni np.gdy $data = 1410-07-15
szykalem innych funkcji nie znalazlem
pozdrawiam
Go to the top of the page
+Quote Post
php programmer
post 15.11.2007, 13:35:17
Post #6





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


Nie wiem po co ci takie stare daty, ale już musisz to można mniej więcej tak.

1. Musisz napisać najpierw funkcję, która mówi ile dni ma dany miesiąc
np dla IleDni(2007,11) daje 30,
ogólnie dni są 30 lub 31 w zalezności od miesiąca
z wyjątkiem lutego, który zależy od tego czy rok jest przestępny ($rok%4==0)
chyba php ma jakieś funkcje które ułatwią ci to, być może jest gotowa taka funkcja

2. Musisz napisać funkcję, która zwraca date następnego dnia, od dany podanej w parametrze
NexyDay('2007-11-15') daje '2007-11-16',
Do tej funkcji bedzie ci potrzebna informacja ile dni ma dany miesiąc Date("t")
3.
  1. <?php
  2. WHILE ($data1<$data2){
  3. $data1 = NextDay($data1);
  4. $licznikDni++;
  5.  }
  6. ?>


Ten post edytował php programmer 15.11.2007, 14:18:29
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: 24.07.2025 - 21:52