Datum in MongoDB: Beim Einfügen von Datumsobjekten in die Mongo-Datenbank wird das Datum 1 Tag früher als es selbst

Mein Datumszeichenfolgenformat sieht folgendermaßen aus:2. Januar 2012 Nach der Instant.parse () -Methode ist die Instant-Instanz das Datum vom 1. Januar 2012, das einen Tag früher liegt. Warum? Wenn der ursprüngliche Datumsstring der 1. Januar 2012 ist, ist der Zeitpunkt der 31. Dezember 2011.

String dateString="Jan 1, 2012";
Instant instant = Instant.parse(dateString, new DateTimeFormatterBuilder()
.appendMonthOfYearShortText()
.appendLiteral(" ")
.appendDayOfMonth(1)
.appendLiteral(", ")
.appendYear(4, 4)
.toFormatter());

DateTime dateTime = new DateTime(instant);
Date date = new Date(dateTime.getMillis());

document.append("time", new Date(dateTime.getMillis()));
tagsDbCollection.insert(document);

Ich verwende MongoDB, um diese Daten zu speichern. Ich habe es getestet und es zeigt beim Formatieren von Datumsstrings-> augenblicklich, dass es keinen Fehler gibt. Aber wenn ich dieses Objekt vom Typ Datum in MongoDB einfüge, wird die Datumszeichenfolge in MongoDB 1 Tag früher. Warum?

In MongoDB:

 /* 0 */
    {
      "_id" : ObjectId("50221a40da74d74053abb445"),
      "time" : ISODate("2011-12-31T14:00:00Z")
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage