Próbowałem przekonwertować ciąg do tej pory, ale nie mogę uzyskać wymaganego formatu. to jest mój kod
String a = request.getParameter("bdate");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(yyyy-MM-dd);
Date bdate = simpleDateFormat.parse(a);
System.out.println(bdate);
Ale dostaję 01 stycznia 00:00:00 PST 1970, a ja chcę sformatować datę w formacie rrrr-MM-dd
Odpowiedzi:
0 dla odpowiedzi № 1Musisz użyć SimpleDateFormat#format()
. Formatera należy używać zarówno podczas analizowania i wydrukowanie daty. W przeciwnym razie domyślny format EEE MMM dd HH:mm:ss zzz yyyy
to pochodzi java.util.Date#toString()
przyzwyczaja się.
Date bdate = simpleDateFormat.parse(a);
System.out.println(simpleDateFormat.format(bdate));
2 dla odpowiedzi nr 2
Jeśli chcesz napisać w żądanym formacie, napisz:
System.out.println(simpleDateFormat.format(bdate));
java.util.Date
nie przenosić informacje o formacie
1 dla odpowiedzi nr 3
posługiwać się new SimpleDateFormat("yyyy-MM-dd");
ale kiedy tylko chcesz zwrócić sformatowaną datę posługiwać się simplDateFormat.format(parsedDate)
0 dla odpowiedzi nr 4
Czw 01 stycznia 00:00:00 PST 1970
jest czasem uniksowym 0. Najprawdopodobniej oznacza to, że „a” jest pusty lub źle sformatowany. Sprawdź wprowadzane parametry; twój kod parsujący jest w porządku.