Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PGSQL] Czy istnieje funkcja zwracająca różnicę czasu w dowolnym formacie DNI, LATA, GODZINY
juzwa
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 10.07.2006

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


szukałem coś na ten temat i niczego znalazłem

mam zapytanie

select now() - data -> zwraca mi wynik (w zależności od różnicy) np 12 dni 12:03:09.123

i ja chcę wiedzieć ile to jest np minut, albo godzin
na razie radze sobie tak, że

date_part() wyciągam sobie cześć i ją mnożę (*24 - gdy chce liczbe godzin, *3600 gdy chcę liczbę minut) itp itd

to jest takie bądź co bądź toporne rozwiązanie, bo jeśli chcę mieć godziny to nie obchodzą mnie minuty, a jeśli minuty to już muszę jedno date_part() dołożyć (dla godzin) aby wyciągnąć minuty no i trzeba mnożnik zmienić

czy istnieje jakaś funkcja która by zwracała rezultat w formacie jakim się chce (w dniach, godzinach, minutach)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Roly
post
Post #2





Grupa: Zarejestrowani
Postów: 55
Pomógł: 7
Dołączył: 8.12.2003
Skąd: Andrychów

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


W bazach danych w ogóle jest problem z datami. Ze swojej strony polecam trzymanie daty jako znacznik czasu Unix-a (jako ilość sekund jakie upłynęły od 1 stycznia 1970) w kolumnie innej niż date np Int. Wyciągasz sobie taki znacznik z bazy i robisz różnice jak na normalnych liczbach całkowitych np z time(). I potem korzystasz z funkcji date() w PHP i konwertujesz do czego chcesz. Jeżeli będziesz miał z tym problemy to pisz postaram się pomóc.
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #3





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


@Roly
Lepiej poczytaj, a nie dawaj takie rozwiązania.

@juzwa
Czytanie dokumentacji, czy raczej umiejętne korzystanie jest przydatne:
http://www.postgresql.org/docs/8.2/static/...formatting.html

A tak w skrócie:
  1. SELECT to_char( ( now() - '2008-03-18'::date ), 'DD "dni" HH24:MI:SS' );


Jeszcze to może się przydać:
http://www.postgresql.org/docs/8.2/static/...s-datetime.html

P.S. Chyba źle łapie formatowanie dla '""' (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:48