2016-11-19 3 views
0

Ich möchte now setzen, um die aktuellen Zeitfelder (Stunden, Minuten und Sekunden) zu haben, aber ich möchte das Jahr auf 1970 1. Januar einstellen. Der folgende Code tut das nicht mit dem Befehl set(int year, int month, int date). Das Jahr, der Monat und das Datum bleiben auf dem aktuellen (d. H. Heutigen) Datum.Wie kann man im Kalender-Objekt nur Monat, Jahr und Datum ändern, ohne die Stunden, Minuten und Sekunden zu ändern?

  Calendar now = Calendar.getInstance(); 
      now.set(1970, Calendar.JANUARY, 01); 

Wie kann nur das Jahr-, Monats- und Datumsfeld geändert werden?

+1

now.getTime(). ToString(); gab mir das Ergebnis: "Do Jan 01 03:55:14 CET 1970". Ist es nicht was du willst? –

+0

Ist Ihre Ortszeit gerade jetzt (als Sie den Befehl ausgeführt haben) 3:55 Uhr? – user1406716

+0

Ja. Meine Zeitzone ist GMT + 1, also war es 3:55 Uhr, als der Code ausgeführt wurde. –

Antwort

0
Calendar cal = Calendar.getInstance(); 
cal.set(Calendar.DAY_OF_MONTH, 1); 
cal.set(Calendar.MONTH, Calendar.JANUARY); 
cal.set(Calendar.YEAR, 1970); 
+0

Das '' Zeit'-Feld in 'cal' bleibt bei 1479526935691 (was ist Fr 18 November 2016 21:42:15) was ist, was mich verwirrt: http://imgur.com/a/sAUDf – user1406716

+0

Egal, wann Ich verwende 'gettimeinmillis()' auf dem Kalender-Objekt, es funktioniert. Also werde ich dies als Antwort markieren. – user1406716

Verwandte Themen