Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]zaokrąglenie timestamp i wyszukiwanie w bazie
Forum PHP.pl > Forum > Przedszkole
szybki
Huh jakiś geniusz w bazie zapisał date jako timestamp, niestety nie wiem jak ją mam wyszukać skoro jest niepoprawna.

  1. echo 'data w bazie 1463695200';
  2. echo 'data zwrócona przez DataTime w php 1463616000';


Jak widać wyniki są nieco różne, jak moge je wyszuka w mysql? Czy jakoś to zaokrąglić?

Obie zwracają dobrze aktualny dzień.
nospor
Cytat
jakis geniusz w bazie zapisał date jako timestamp

Huh, a inny geniusz nie wie, ze timestamp jest jak najbardziej poprawnym zapisem daty w bazie wink.gif

A do czego chcesz zaokrąglac? Jak szukasz dat na poziomie dni, to zaokraglaj do dni. w manualu myslq w dziale "times functions" masz wszystko czego potrzebujesz
Rysh
Przecież możesz użyć from_unixtime() i TIMESTAMP()
szybki
  1. WHERE start_date = UNIX_TIMESTAMP("2007-12-04")


Jednak nadal data nie jest wyszukana
Pyton_000
facepalmxd.gif A zajrzałeś do manuala co ta funkcja robi? Bo chyba nie koniecznie
szybki
Tak, jednak nie za bardzo wiem jak w sql wyszukać datę jeśli w formularzu wpiszę 2015-01-01, a co jeśli w sql zapisany jeest timestamp z godziną? To jak to przekonwertować?

  1. AND start_date >= unix_timestamp("2007-12-05") AND start_date < unix_timestamp("2007-12-05")


Nie wyszukuje daty, pomimo że takowa istnieje. Jeśli dam

  1. AND start_date = unix_timestamp("2007-12-05")


Również.
Daimos
oszalałeś, zapoznaj się z formatami daty, timestamp to data, możesz np. robić tak:
  1. AND DATE(start_date) >= "2007-12-05" AND DATE(start_date) < "2007-12-05"

i zakładam, że start date to timestamp. Oczywiście tutaj możesz użyć też between i dostawić godziny, jeśli masz indeks, to będzie szybciej:

  1. WHERE start_date BETWEEN '2007-12-05 00:00:00' AND '2007-12-05 23:59:59'


Cytat
Huh jakiś geniusz w bazie zapisał date jako timestamp, niestety nie wiem jak ją mam wyszukać skoro jest niepoprawna.


"Geniusz", to zapisuje daty w formie inta. A później nic nie można z tym zrobić. Zajrzyj do manuala mysql od czasu do czasu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.