DateTime mit C# serialisieren und mit Java einlesen

Wer mit dem XmlSerializer ein DateTime serialisiert, erhält etwas in der folgenden Art: 0001-01-01T00:00:00. Möchte man dieses Format mit Java benutzen und auch wieder schreiben, hilft folgender Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
// Serialized DateTime-String from C#
String dateTimeString = "0001-01-01T00:00:00";
 
// Convert serialized DateTime from C# to a Java-compatible DateTime
dateTimeString = dateTimeString.replace('T', ' ');
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(dateTimeString);
DateTime dateTime = new DateTime(date);
 
// Print C#-compatible DateTime-String
date = new Date(dateTime.getValue());
String dateTimeStringFromJava = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
dateTimeStringFromJava = dateTimeStringFromJava.replace(' ', 'T');
System.out.println(dateTimeStringFromJava); // 0001-01-01T00:00:00

Note:
The „DateTime“ class comes from com.google.gdata.data.DateTime.

Java Util Date – Deutsches Datumsformat

Zeitformate lassen sich mit dem SimpleDateFormat erstellen. Ein Datentyp aus java.util.Date lässt sich wie folgt in ein Deutsches Datumsformat mit der Formatierung „Tag.Monat.Jahr“ umwandeln:

1
2
3
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
System.out.println(sdf.format(date));