Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Dziwny problem z datą
EdeusEx
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 1
Dołączył: 6.04.2008

Ostrzeżenie: (20%)
X----


Otóż mam dziwny problem z datą.

W bazie mam pole is_special w formacie date. Chce policzyć ile dni zostało do ukończenia is_special od dnia dzisiejszego, i tak:

Wartość is_special: 2008-04-15

Przy takiej formule:
  1. <?php
  2. round(($get['is_special'] - Date("Y-m-d"))/365);
  3. ?>

Zwraca mi zero.

Przy takiej:
  1. <?php
  2. round(($get['is_special'] - Date("y-m-d"))/365);
  3. ?>

Zwraca mi 5, tylko, że tutaj dzieją się cuda-niewidy.
Gdy wpiszę jakąkolwiek inną wartość w is_special, dajmy na to 2008-05-20, zawsze wyświetla mi 5, nawet, gdy dam wartość mniejszą niż dzisiaj.

Co jest nie tak ? 0_0

Ten post edytował EdeusEx 6.04.2008, 21:23:14
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
artega
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

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


Może łatwiej będze gdy zastosujesz timestamp zamiast date
  1. <?php
  2.  
  3. echo "pozostalo " . ceil((strtotime($get['is_special']) - time()) / (60*60*24)) . " dni";
  4.  
  5. ?>

Powyższy skrypt oblicza ile dni pozostało do określonej daty zaokrąglając w górę.
Go to the top of the page
+Quote Post
isso
post
Post #3





Grupa: Zarejestrowani
Postów: 296
Pomógł: 32
Dołączył: 3.01.2005

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


Wiec tak... nie można w ten sposób dodawać i odejmowąć dat smile.gif a później jeszcze dzielić przez 365 smile.gif "bo sie nam tak podoba"

Zapoznaj się z funkcjami mktime()" title="Zobacz w manualu PHP" target="_manual oraz time()" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. echo("Is: ".mktime (0,0,0,04,15,2008)."<br>");
  3. echo("Time: ".time()."<br>");
  4. ?>

są to daty w formacie UNIKSOWYM smile.gif bardzo przydatne smile.gif jak nie poradzisz sobie z tym smile.gif to napisz


--------------------
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







A jak odjąć czas od czasu?

np. 14:04:03 - 0:02:00 = 14:02:03 ?
Go to the top of the page
+Quote Post
ayeo
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Było 100 razy! Proszę używać wyszukiwarki!
Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
-Gość-
post
Post #6





Goście







gdyby bylo to bym znalazl, bo szukalem ;/;/;/;/
Go to the top of the page
+Quote Post
franki01
post
Post #7





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


  1. <?php
  2. $roznica = date('Y-m-d H:i:s', strtotime($date1) - strtotime($date2));
  3. ?>


Zapoznaj się z funkcja date" title="Zobacz w manualu PHP" target="_manual zeby dostac oczekiwany rezultat.

Ten post edytował franki01 3.05.2008, 23:10:01
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




EdeusEx, a nie możesz tego zrobić bezpośrednio w SQL?

http://mysql-tips.blogspot.com/2005/04/mys...lculations.html


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 20.08.2025 - 13:27