簡體   English   中英

將MongoDB字符轉換為R日期

[英]Convert MongoDB character as R Date

我試圖將MongoDB日期轉換為R日期對象。 我用

library(RMongo)
library(data.table)

mongo<-mongoDbConnect("test", host = "127.0.0.1", port = "27017")
event<-dbGetQuery(mongo, "event", "", 0, 1000)
data<-as.data.table(event)

date <-data $ date返回向量:

[1] "Fri Oct 28 13:15:00 CEST 2016" "Fri Oct 28 16:00:00 CEST 2016" "Fri Nov 04 18:30:00 CET 2016"  "Fri Nov 04 18:45:00 CET 2016" 

我無法轉換此向量。 我嘗試了以下代碼:

as.Date(date, format = "%a %b %d %H:%M:%S %Y")
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

strptime(date, format = "%a %b %d %H:%M:%S %Y")
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA

我也嘗試使用

s.POSIXct(date, "%a %b %d %H:%M:%S %Z %Y")
Error in as.POSIXct.default(date, "%a %b %d %H:%M:%S %Z %Y")

有人可以請我解釋一下我如何做到這一點,並解釋我做錯了..

提前謝謝了

我遇到了同樣的問題,發現了兩種可能的解決方案:

  1. 您可以使用庫mongolite代替RMongo,它以“ 2016-01-01 01:00:00”的格式提供日期。 您只需格式化它們,例如調用format(yourTime, "%Y-%m-%d %H:%M:%OS3")即可恢復format(yourTime, "%Y-%m-%d %H:%M:%OS3")
  2. 使用這兩個庫,您可以使用聚合框架,並在項目階段將日期轉換為字符串,例如: "$dateToString": { "format": "%Y-%m-%d %H:%M:%S.%L", "date": "$yourTime" } ,然后像前面一樣重新格式化它們。

希望對您有所幫助。

告別

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM