Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Typ danych dla daty - datetime czy int?
Forum PHP.pl > Forum > Bazy danych > MySQL
Apocalyptiq
W bazie forum phpbb spotkałem się z datami zapisywanymi tylko jako int (ilość sekund które upłynęły od bodajże 1970.1.1). Ale przecież w MySQL jest też typ danych datetime (Y-m-d H:i:s). W którym lepiej zapisywać datę? W tym pierwszym jak gdzieś czytałem, za ileś lat ma ten sposób wysiąść (no bo ilość cyfr w nim przekroczy jakiśtam limit). Ale int pewnie lepiej się indeksuje.

Którego sposobu używacie? Jakie są za i przeciw co do każdego?
erix
Kolega coś mało pogooglał. winksmiley.jpg

http://www.phpbuilder.com/board/archive/in...t-10266444.html
skowron-line
W postgresie nie ma typu pola date i datetime ( tak kiedys slyszlaem nie sprawdzalem ) wiec jak bedziesz mial liczbe sekund to date() możesz sobie przeformatowac date.
wookieb
Cytat(skowron-line @ 2.03.2009, 10:58:41 ) *
W postgresie nie ma typu pola date i datetime ( tak kiedys slyszlaem nie sprawdzalem )

Gdyby tak było to byłaby to najgorszy system bazodanowy na świecie. Jest tylko, że nazywa sie to TIMESTAMP a struktura tego pola to
'rrrr-mm-dd gg:mm:ss'
skowron-line
Cytat(wookieb @ 2.03.2009, 11:06:08 ) *
Gdyby tak było to byłaby to najgorszy system bazodanowy na świecie. Jest tylko, że nazywa sie to TIMESTAMP a struktura tego pola to
'rrrr-mm-dd gg:mm:ss'

No okej ale jak zmieniasz pole typu date na timestamp bedzie problem.
A w przypadku ilości sekund będzie działało bez problemów.
wookieb
Cytat(skowron-line @ 2.03.2009, 11:18:11 ) *
No okej ale jak zmieniasz pole typu date na timestamp bedzie problem.

A gdzie ten problem widzisz? Bo nie za bardzo go dostrzegam.
rzymek01
Cytat(Apocalyptiq @ 1.03.2009, 21:05:46 ) *
jak gdzieś czytałem, za ileś lat ma ten sposób wysiąść (no bo ilość cyfr w nim przekroczy jakiśtam limit).

zaniedługo na pewno mysql przeznaczy na pole timestamp 8 bajtów i będzie po problemie smile.gif
erix
...a zauważyłeś, ilu hostingom pali się z update'ami MySQL?
rzymek01
hehe, racja, ale za kilka lat to będą inne czasy aaevil.gif

Po wejściu do euro polscy hostingodawcy beda się musieli nieźle napocić, bo porównując jakość/cena/parametry to zachodnie oferty sa korzystniejsze, a już mi bedzie wisieć gdzie kupię, bo waluta ta sama, łatwo porównać tongue.gif
Apocalyptiq
Co do dat - zdecydowałem się na używanie intów. I tak jeżeli chcemy zaprezentować na stronie tą datę, no bo w większości przypadków tak jest, jeżeli mamy ją w datetime a chcemy jakoś ładnie sformatować, najlepiej jest najpierw zmienić to poprzez strtotime na inta, a następnie poprzez funkcję date wyjmować poszczególne człony, np. numer miesiąca, dzień itp. W przypadku inta od razu przemielamy go przez date i gotowe :-) No chyba że ktoś zamiast "15 marca 2009 o 15:32" wrzuca na strone "2009-03-15 15:32:42" ;-)
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.