2014-01-15 38 views
0

我使用rmongodb來查詢MongoDB。我連接到很好地工作的數據庫(require(rmongodb); mongo <- mongo.create("foo")),我通常能夠從數據庫中獲取內容。我只是不知道該怎麼辦的日期格式..rmongodb如何轉換時間(以及如何執行反向操作)?

TIME <- strptime("2013-11-11 15:00",format="%Y-%m-%d %H:%M",tz="CET") 
query = mongo.bson.buffer.create() 
mongo.bson.buffer.append(query, "timestamp", TIME) 
query = mongo.bson.from.buffer(query) 

當我看到這個查詢它說:

timestamp : 9 1198930688 

所以mongo.bson.buffer.append已經正確認識到timestamp是日期類做了一些轉換 - 我不明白。這不是UNIX時間,我真的不在乎數據庫返回的值是否也不是這種格式。我感到特別奇怪,因爲很長一段這些數字的日期值是負的,而我所有的日期是從2013年......更多的例子:

# 2013-10-10 12:15 --> -1579369312 
# 2013-10-10 12:30 --> -1578469312 
# 2013-11-10 12:30 --> 1103530688 

所以基本上我的問題是:我怎麼能轉換這個有趣的日期格式(1198930688)回到POSIXct?

非常感謝! SKR

回答

2

嘗試

myTIME <- mongo.bson.value(query, "timestamp") 
myTIME 
[1] "2013-11-11 15:00:00 CET" 
+0

的作品就像一個魅力 - 兼論'mongo.cursor.value(光標)'返回的對象 - 所以我也可以使我從數據庫中檢索的東西的感覺。非常感謝! – skr

+0

只是我們的好奇心:你(或其他人)有什麼想法發生這種日期轉換髮生的事情嗎?我的意思是,算法是做什麼的?我發現這很奇特.. – skr

+0

看看[this](http://docs.mongodb.org/manual/reference/bson-types/) – vaettchen

相關問題