Potrzebuję być w stanie przechowywać datę (rok/miesiąc/dzień) bez składnika czasu. To abstrakcyjna koncepcja daty, na przykład urodzin - muszę podać datę w roku, a nie konkretną chwilę w czasie.Daty bez składnika czasowego lub strefy czasowej w Java/MySQL
Używam Java do analizowania daty z tekstu wejściowego i trzeba przechowywać w bazie danych MySQL. Niezależnie od strefy czasowej, w której znajduje się baza danych, aplikacja lub dowolny klient, wszystkie powinny widzieć ten sam rok/miesiąc/dzień.
Moja aplikacja będzie działać na komputerze z inną strefą czasową systemu z serwera bazy danych, a ja nie mam nad nim kontroli. Czy ktoś ma eleganckie rozwiązanie, które zapewnia, że prawidłowo przechowuję datę?
mogę myśleć o tych rozwiązań, z których żadna nie wydaje się bardzo ładny:
- Query mojego połączenia MySQL dla swojej strefy czasowej i analizowania datę wejścia w tej strefie czasowej
- Process data całości jako yyyy smyczkową -MM-dd
Tak, w kodzie Java utwórz własny typ dat lub po prostu użyj ciągu znaków. Obiekt java.util.Date jest określony w czasie i nie modeluje poprawnie przypadku użycia. – erickson
Mam podobny przypadek użycia: dowolną datę niezależną od roku, w której koreluję moje dane z danymi sezonowymi. Przechowywałam miesiąc i dzień jako liczby całkowite, zamiast używać ciągu znaków, i nie przechowuję żadnej reprezentacji roku. – AjahnCharles