Wie bekomme ich Century von Date in Java?

7

Wie bekomme ich Century von einem Date in Java?

Zum Beispiel das Datum "06/03/2011" nach Format "MM/dd/yyyy" . Wie kann ich das aktuelle Jahrhundert ab diesem Datum mit SimpleDateFormat ?

erhalten?     
Zeeshan 03.06.2011, 15:43
quelle

5 Antworten

10
%Vor%     
Harry Lime 03.06.2011 15:53
quelle
9

Eine kleine Veränderung zu dem, was Harry Lime gepostet hat. Seine Logik ist nicht ganz richtig. Das Jahr 1901 wäre das 20. Jahrhundert, 1900 wäre das 19. Jahrhundert.

%Vor%     
Ram 27.04.2017 14:55
quelle
2

Die anderen Antworten sind korrekt, aber veraltet.

java.time

Das Framework java.time ist in Java integriert 8 und später. Diese Klassen ersetzen die alten problematischen Datum-Zeit-Klassen wie java.util.Date , .Calendar , & amp; %Code%.

Jetzt im Wartungsmodus , der Joda-Time Projekt berät auch die Migration zu java.time.

Weitere Informationen finden Sie im Oracle-Lernprogramm . Und durchsuchen Sie Stack Overflow nach vielen Beispielen und Erklärungen.

Ein Großteil der java.time-Funktionalität wird auf Java 6 & amp; 7 in ThreeTen-Backport und weiter angepasst an Android in ThreeTenABP .

Das Projekt ThreeTen-Extra erweitert java.time um zusätzliche Klassen. Dieses Projekt ist ein Testfeld für mögliche zukünftige Erweiterungen von java.time.

java.text.SimpleDateFormat

Die Klasse LocalDate repräsentiert einen Datumswert ohne Uhrzeit und ohne Zeitzone.

Zum Parsen geben Sie ein Formatierungsmuster an. Ich schlage übrigens vor, ISO 8601-Standardformate zu verwenden, die direkt von java.time-Klassen analysiert werden können.

%Vor%

Um das Jahrhundert zu bekommen, nimm einfach die Jahreszahl und dividiere durch 100. Wenn du die Ordnungszahl möchtest, " 21. Jahrhundert "für 20xx, füge eins hinzu.

%Vor%

Dump zur Konsole.

%Vor%
  

Eingabe: 06/03/2011 | ld: 2011-06-03 | JahrhundertPart: 20 | JahrhundertOrdinal: 21

    
Basil Bourque 09.08.2016 23:49
quelle
1

Ich weiß nichts über Java, aber warum bekommst du nicht einfach das ganze Jahr und machst die letzten beiden Ziffern 0?

BEARBEITEN

Wenn Sie möchten, dass 2011 zum 21. Jahrhundert wird - holen Sie sich das voll qualifizierte Jahr im String-Format, dann schlagen Sie die letzten 2 Zeichen ab, dann parsen Sie zu einem int und fügen 1 hinzu!

    
jcvandan 03.06.2011 15:45
quelle
0

Teilen Sie es durch die Slahes, holen Sie die ersten zwei Symbole des dritten Elements in das resultierende Array, Integer.parseInt und fügen Sie 1 hinzu, das heißt: %Code% (Ich bin nicht sicher über die substring () -Syntax von meinem Kopf)

    
Ibolit 03.06.2011 15:48
quelle

Tags und Links