Cóż, patrzę na to w bardzo prosty sposób. W twoim przypadku chciałbym używać zarówno datetime
i timestamp
. Korzystając z obu, nie będziesz mieć żadnych dodatkowych problemów z przechowywaniem danych lub coś w tym rodzaju. Jedno dodatkowe pole (kolumna) w tabeli również nie stanowi dużego problemu.
Więc z mojego punktu widzenia i dotychczasowych doświadczeń zwykle używam obu. Jeśli chcesz pokazać datę odwiedzającemu lub uczynić ją zrozumiałą dla odwiedzających, wyświetl datę w formacie daty i godziny.
Format daty i godziny może być uciążliwy, gdy chcesz coś obliczyć (różnica między 2 datami, uzyskaj wczorajszą datę od bieżącej daty, uzyskaj 1 tydzień temu od bieżącej daty, uzyskaj jutrzejszą datę lub coś takiego.) To nie jest naprawdę trudne, ale zwykle trzeba je przekonwertować, timestamp
a następnie zrobić rzeczy. I tak, bieżąca data i godzina, na przykład, otrzymujesz: $current = date("Y-m-d");
lub $current = date("Y-m-d H:i:s");
jeśli chcesz także godzin, minut i sekund.
Znacznik czasu ma tylko 11 cyfr, co tak naprawdę „nie znaczy” niczego. Kiedy na to spojrzysz, nie będziesz wiedział, którą datę to reprezentuje. Nie jest więc przyjazny dla użytkownika i nie można go użyć do odtworzenia go na przykład i pokazania go użytkownikom. Będziesz musiał „przekształcić” go w coś czytelnego. Ale oferuje również możliwość łatwej konwersji i obliczania różnych dat. Na przykład, jeśli chcesz uzyskać znacznik czasu na jutro w tym samym czasie, po prostu dodajesz liczbę sekund do bieżącej daty i masz znacznik czasu na jutro. Przykład: $tomorrow = time()+24*3600;
Możesz również łatwo uzyskać różnicę między dwiema datami w ciągu kilku sekund lub coś podobnego.
Sugerowałbym więc użycie daty i godziny oraz datownika. Nawet jeśli użyjesz na przykład PhpMyadmin i chcesz szybko przejrzeć niektóre dane, łatwiej ci będzie, gdy zobaczysz datę w formacie daty i godziny (na przykład 2011-12-20 10:15:20
:), jak to będzie, jeśli spojrzysz na 11 cyfrę. Więc użyj obu, a następnie zadzwoń i użyj tego, który bardziej Ci odpowiada.
Jeśli musisz lub chcesz wybrać tylko jeden, sugerowałbym znacznik czasu, w przeciwnym razie użyj obu.