-1

java.util.Date()用来获取插入数据库的时间戳。当我查看结果时,数据库中的时间戳与系统机器时间不同。

  • java.util.Date()时间:22/10/2012 10:00:07 AM
  • 系统机器时间:22/10/2012 5:50:34 PM

我使用 MongoDB,这里是我的代码

Mongo mongo = new Mongo(DBConstants.DATABASE_HOST,  Integer.parseInt(DBConstants.DATABASE_PORT));
DB db = mongo.getDB("library");
DBCollection books = db.getCollection("books");
BasicDBObject book = new BasicDBObject();
book.put("name", "Understanding JAVA");
book.put("pages", 100);
book.put("amount",10);
book.put("timestamp", new java.util.Date());
books.insert(book);

谁能给我解释一下?

4

3 回答 3

1

java.util.Date 使用 TimeZone?

java.util.Date与时区无关。在javadoc中这么说。
您想要与特定时区相关的东西吗?那是java.util.Calendar

于 2012-10-22T10:19:36.813 回答
0

请确保您的系统机器和数据库使用相同的时区。

于 2012-10-22T10:12:14.467 回答
0

它可能会发生,因为java.util.Date它与时区无关。

于 2012-10-22T10:10:35.317 回答