2017-10-04 227 views
2

我有一個表格(標記),其中包含timestamp(ts)列,格式爲1970年1月1日以來的秒數。我正在嘗試創建一個日期列,將時間戳從秒轉換爲日期和時間EST。將時間戳以秒爲單位轉換爲R中的日期格式

對R所建議的代碼是:

tags$date<-strptime(tags$ts, "%Y-%m-%d") 
tags$date<-as.POSIXct(tags$date) 

但是當我這樣做,tags$date出來作爲NA。對於我可能做錯的任何建議?謝謝。

+0

歡迎來到stackoverflow。請閱讀[如何編寫一個好的R問題](https://stackoverflow.com/q/5963269/3250126)。使用'dput(head(tags))'來共​​享您的數據樣本。 – loki

+2

也請回顧[mcve]。 –

回答

4

您應該我們as.POSIXct函數:

tags$date <- as.POSIXct(tags$ts, origin="1970-01-01", tz="US/New York") 

strptime轉換的字符表示之間和日期沒有時間戳和日期之間。

+1

也需要在時區EST的時間,所以會像標籤$ date < - as.POSIXct(tags $ ts,origin =「1970-01-01」,tz =「US/New York」) – ngamita

+0

你是對的我忘了時區。剛編輯我的答案。謝謝 – Pop

1

這是lubridate版本。當我們使用as_datetime時,我們不需要明確指定原點,因爲它默認爲所需的原點。

lubridate::as_datetime(1507119276, tz='EST') 
# [1] "2017-10-04 07:14:36 EST" 
相關問題