2017-10-04 21 views
2

GMTの1970年1月1日以降の秒数でフォーマットされたタイムスタンプ(ts)の列を持つテーブル(タグ)があります。私は秒から日付と時刻ESTにタイムスタンプを変換する日付列を作成しようとしています。タイムスタンプを秒単位で日付形式に変換するR

はRの推奨コードはでした:

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

をしかし、私はこれを行うとき、tags$dateはNAとして起動します。私が間違っているかもしれないことに対する提案はありますか?ありがとう。

+0

へようこそ。 [良い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" 
関連する問題