Zmiana formatu obiektu Date

0

Mam pytanie ponieważ potrzebuje stworzyć obiekt Date w formacie yyyyMMdd ale musi to obiekt Date nie String. Czy można to jakoś zrobić ?

0

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

1
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

0

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 ?

0
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

2

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1