![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Wiem, że jest dużo tematów tego rodzaju ale nigdzie nie mogę znaleźć rozwiązania.
Chodzi o to, że mam w bazie pole typu datetime czyli datę z czasem i chciałbym oblicz różnicę między tą datą a datą aktualną, a potem móc tą różnicę wyświetlać lub sprawdzać ile wynosi aby porównywać z jakimiś wartościami,np. czy różnica <=0. Próbowałem różnych opcji ale nic nie idzie. Prosze o szybką pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 6 Dołączył: 31.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
poczytaj trochę o:
date() mktime() time() i napewno coś wymyślisz? A jakiego typu masz to pole w bazie danych? |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Nie możesz poprostu przejrzec funkcji z manuala?
http://dev.mysql.com/doc/refman/5.1/en/dat...nction_datediff Uwierz mi, że jest tam ta której potrzebujesz. -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
pole typu datetime
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
TIMEDIFF I TIME_TO_SEC! DATEDIFF podobnie Ten post edytował wookieb 17.05.2010, 20:34:57 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie próbuje i nic mi nie chodzi. a chciałbym uzyskać efekt w różnicy nie tylko dni ale nawet sekund ponieważ chciałem wykorzystać to do stopera, który odlicza czas do rozpoczęcia.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
no właśnie próbuje i nic mi nie chodzi. a chciałbym uzyskać efekt w różnicy nie tylko dni ale nawet sekund ponieważ chciałem wykorzystać to do stopera, który odlicza czas do rozpoczęcia. To chyba potrafisz przeliczyć dni na sekundy...? -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
no tak, z tym że nie mogę obliczyc nawet dni:/
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 6 Dołączył: 31.12.2007 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
~wookieb podał Ci jedno rozwiązanie po stronie MySQL, możesz próbować po stronie PHP Datetime PHP
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
[PHP] pobierz, plaintext
1. $date = time() - strtotime($date_z_bazy); [PHP] pobierz, plaintext fakt dostaje jakiś wynik i chyba jest w sekundach, ale jak to sformatować do normalnego czasu bo tutaj są jakieś astronomiczne wartości? |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
[PHP] pobierz, plaintext 1. $date = time() - strtotime($date_z_bazy); [PHP] pobierz, plaintext fakt dostaje jakiś wynik i chyba jest w sekundach, ale jak to sformatować do normalnego czasu bo tutaj są jakieś astronomiczne wartości? Nie dziwić się tylko zaglądnąć do linku wookieb i mojego. ;] -------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 9.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, przyłączę się do wątku dat.
Stosuję mktime() do obliczenia, która data jest wcześniejsza, a która późniejsza. Dostaję taki błąd: ...on line 398: mktime() expects parameter 4 to be long, string given $y1 = mktime(0, 0, 0, $month_od, $day_od, $year_od); Pod $month jest 5. Tu mam podjrzenie, że kompilator php czepia się, że to może jest string, a powinien być long. Przechowuję datę w bazie w postaci stringu: '2010-5-23', którą rozbijam sobie i analizuję. Co z tym zrobić by nie rzucało takimi błędami? Dzięki za pomoc. Włodek. OK, pomogło zwykłe rzutowanie na INTa: $month = (int)$month; Pozdrawiam, Włodek. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 17.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
szczerze nie wiem czy to zmeczenie czy niewiedza, ale cały czas nie mam pomysłu na to. Próbuje korzystać z Waszych rad, ale cały czas coś nie idzie. Jeśli ktoś będzie mógł pomóc bardziej to bedę wdzięczny, ale oczywiście też dziękuje za porady rozwiązań.
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:07 |