Mam pytanie ponieważ potrzebuje stworzyć obiekt Date w formacie yyyyMMdd ale musi to obiekt Date nie String. Czy można to jakoś zrobić ?
W sensie:
final SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
final Date date = format.parse("20091231");
?
UPDATE
Mam pytanie ponieważ potrzebuje stworzyć obiekt Date w formacie yyyyMMdd ale musi to obiekt Date nie String
Date nie ma wewnętrznie formatu. Jeśli dobrze pamiętam to czas w Date jest trzymana jako liczba milisekund od 1970 roku. Format jest potrzebny (i ma sens) tylko przy parsowaniu string a i konwersji do stringa.
BTW lepiej starego Date nie używać tylko nowego api do czasu
Testy napisał(a):
Mam pytanie ponieważ potrzebuje stworzyć obiekt Date w formacie yyyyMMdd ale musi to obiekt Date nie String. Czy można to jakoś zrobić ?
Obawiam się, że nie rozumiesz o co chodzi.
Obiekt klasy to data, abstrakcyjna, po prostu liczba. Formatowanie to coś innego.
Oprócz tego to jest klasa strasznie przestarzała, od blisko 10 lat używa się tego
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Wiem że się nie powinno ale jest to stary projekt. Ogólnie potrzebuje przy wywołaniu metody ustawić datę zgodna z datą wykonania metody. I zmienić format na yyyyMMdd i wysłać ją w obiekcie. Czy to jest wykonalne ?
Testy napisał(a):
Ogólnie potrzebuje przy wywołaniu metody ustawić datę zgodna z datą wykonania metody. I zmienić format na yyyyMMdd i wysłać ją w obiekcie.
Nie ustawisz formatu dla Date, bo Date nie ma formatu. Format jest używany dopiero przy konwersji na Stringa
final DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
final String strDate = dateFormat.format(date);
Inaczej się nie da, a przynajmniej nie słyszałem żeby się dało
Jak to stary projekt i chcesz samą datę, czas albo timestamp/datetime to może popatrz na pakiet sql?
zamiast
java.util.Date;
weź
java.sql.Date;
Oczywiście wtedy do 'javowej klasy Data' musisz się odwoływać z pełną nazwą java.util.Data, bo zaimportowane jest java.sql.*
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
public class Example {
public static void main(String[] args) {
final Date date = new Date(new java.util.Date().getTime());
System.out.println(date);
final Time time = new Time(new java.util.Date().getTime());
System.out.println(time);
final Timestamp timestamp = new Timestamp(new java.util.Date().getTime());
System.out.println(timestamp);
}
}
2021-02-04
11:51:55
2021-02-04 11:51:55.422
Jeszcze sobie to potem sformatuj jak chcesz