2012-10-22 76 views
-1

我使用java.util.Date()來獲取插入數據庫的時間戳。 當我查看結果時,數據庫中的時間戳與系統機器時間不同。java.util.Date()!=系統機器日期時間

  • java.util.Date()時間:22/10/2012上午十點00分07秒
  • 系統機時間:22/10/2012下午五點50分34秒

我用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); 

誰能解釋這個給我?

+5

它可能是時區問題 – Abubakkar

+1

您沒有正確地將日期放入數據庫中,或者您沒有正確顯示數據庫中的日期。 –

+3

完全相差7小時50分27秒?比它不可能是一個時區問題... – Matthias

回答

1

java.util.Date is using TimeZone?

java.util.Date是時區無關。在javadoc中說得很對。
你想要某個特定的時區?那是java.util.Calendar

+0

你可以發佈一個鏈接從你複製這個聲明http://stackoverflow.com/questions/1516213/java-util-date-is-using-timezone –

+0

@AleksandrM哦,是的,謝謝 –

0

這可能是因爲java.util.Date與時區無關。

0

請確保您的系統機器和數據庫正在使用相同的時區。

相關問題