我在MongoDB
数据库中有时间戳,我想用可读的日期格式打印它们。使用Java
和MongoClient
我有以下代码:格式化MongoDB时间戳
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.sql.Timestamp;
public class MongoDBTest
{
public static void main(String[] arguments)
{
MongoClient client = new MongoClient("127.0.0.1", 27017);
String databaseName = "my_database";
MongoDatabase database = client.getDatabase(databaseName);
String collectionName = "my_collection";
MongoCollection collection = database.getCollection(collectionName);
try (MongoCursor<Document> cursor = collection.find().iterator())
{
while (cursor.hasNext())
{
String json = cursor.next().toJson();
Document document = Document.parse(json);
String stringTimestamp = document.get("timestamp").toString();
Timestamp timestamp = new Timestamp(Long.parseLong(stringTimestamp));
System.out.println("Timestamp: " + stringTimestamp + " Formatted: " + timestamp);
}
}
}
}
打印的时间戳似乎并没有因为他们都是从1970
是正确的,但不应该是:
Timestamp: 1357466440 Formatted: 1970-01-16 18:04:26.44
Timestamp: 1357466449 Formatted: 1970-01-16 18:04:26.449
Timestamp: 1357466457 Formatted: 1970-01-16 18:04:26.457
Timestamp: 1357466462 Formatted: 1970-01-16 18:04:26.462
Timestamp: 1357466469 Formatted: 1970-01-16 18:04:26.469
Timestamp: 1357466469 Formatted: 1970-01-16 18:04:26.469
Timestamp: 1357466477 Formatted: 1970-01-16 18:04:26.477
Timestamp: 1357466477 Formatted: 1970-01-16 18:04:26.477
如何获得“真正的”格式化的日期?