Jaki obiekt/klasa do przechowywania daty?

Jaki obiekt/klasa do przechowywania daty?
S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:7 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

Witam
Mam następujące pytanie: Jak najlepiej przechowywać date(dd:mm:yyyy) dla modelu,tak żeby było można było łatwo ją modyfikować i zapisywać/odczytywać z bazy danych (jdbc / hibernate)? Niestety java.util.Date jest problematyczne(trzeba dużo kodu pisać,bo np. konstruktor ze stringiem jest przestarzały itp).


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
Shalom
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
0

Java 8 trochę w tej kwestii poprawiła, bo zrobiła swojego standardowego klona dla joda time
https://docs.oracle.com/javase/tutorial/datetime/iso/date.html
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
NoZi
  • Rejestracja:ponad 16 lat
  • Ostatnio:około miesiąc
0

Z tym, że trzeba się pobawić i dopisać konwertery (JPA 2.1).
https://weblogs.java.net/blog/montanajava/archive/2014/06/17/using-java-8-datetime-classes-jpa


Hate the sin, love the sinner
S9
  • Rejestracja:ponad 10 lat
  • Ostatnio:7 miesięcy
  • Lokalizacja:Warszawa
  • Postów:3573
0

A coś dla javy 7?
Bo na razie znam taką metodę:

Kopiuj
 
date=new String("01/12/1992");
		sdf=new SimpleDateFormat("dd/mm/yyyy");
		try{
			p.setBirthDay(sdf.parse(date));
		}catch(Exception ex){
		}

Ale to troche dużo kodu jak na zwykłą date


"w haśle <młody dynamiczny zespół> nie chodzi o to ile masz lat tylko jak często zmienia się skład"
ZN
  • Rejestracja:ponad 10 lat
  • Ostatnio:ponad 10 lat
  • Postów:17
0

Biblioteka JodaTime:

Kopiuj
String dateString  = "01/12/1992"; // nie korzystaj z new String() !!!!!!

DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/mm/yyyy");
DateTime date = formatter.parseDateTime(dateString );

// możesz sobie teraz bardzo wygodnie pobierać dzień, miesiąc, rok i wiele innych danych
String dateString2 = date.toString(formatter); // data zmieniona w string "01/12/1992"
edytowany 2x, ostatnio: zalogowanyNiezalogowany
KA
KA
  • Rejestracja:prawie 12 lat
  • Ostatnio:prawie 5 lat
  • Lokalizacja:Warszawa
  • Postów:1683
0

zawsze w encjach itd... możesz używać bezpiecznie java.util.Date a do różnych operacji na datach pomagać sobie Joda-Time konstruktorami przyjmującymi java.util.Date oraz toDate() zwracające java.util.Date. albo z javy8 z tym, że tamte wydają mi się gorsze.

przyjmujemy jakieś util.Date i zwracamy util.Date
Date date = LocalDate.fromDateFields(new Date()).plusDays(2).toDate();


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.