Jak zapisać w strumieniu datę typu Calendar?

Jak zapisać w strumieniu datę typu Calendar?
L9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Witam.
Mam taki kod:

Kopiuj
private void write(DataOutputStream stream) throws IOException {
		stream.writeInt(id);
		stream.writeUTF(nazwa);
		stream.writeUTF(opis);
		stream.writeDouble(cena);
		stream.writeUTF(dataDodania.getTime());
	}

I chodzi mi o tą linię:

Kopiuj
stream.writeUTF(dataDodania.getTime());

W jaki sposób mogę do strumienia zapisać dataDodania, który jest typu Calendar?

matoung
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 53
0

Na początku dodaj zmienną

Kopiuj
Calendar dataDodania = Calendar.getTime();

. A Twoją linię pozostaw bez zmian. Może da radę to rozwiązanie.

L9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 34
0

Niestety ale metoda getTime() odnosi się do Date a nie do Calendar, więc to nie zadziała.

Koziołek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Stacktrace
  • Postów: 6823
0

Jest taka metoda https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#getTimeInMillis()
która w połączeniu z https://docs.oracle.com/javase/7/docs/api/java/util/Calendar.html#getTimeZone()

powinna wystarczyć. Zapisujesz czas z kalendarza za pomocą pierwszej i za pomocą drugiej określasz w jakiej strefie czasowej jest ten czas podany.

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.