のようなローカル タイムが"2013-08-27 10:01:22"
ありますが、それをエポック タイムに変換するにはどうすればよいですか?
基本的に私はの反対が必要ですas.POSIXct
、私はグーグルで検索しましたが、驚くべきことに何も見つかりませんでした。
のようなローカル タイムが"2013-08-27 10:01:22"
ありますが、それをエポック タイムに変換するにはどうすればよいですか?
基本的に私はの反対が必要ですas.POSIXct
、私はグーグルで検索しましたが、驚くべきことに何も見つかりませんでした。
as.integer
エポックが始まってからの秒数を取得するために使用できます...
x <- as.POSIXct( Sys.time() )
#[1] "2013-08-27 12:37:17 BST"
class(x)
#[1] "POSIXct" "POSIXt"
as.integer( x )
#[1] 1377603437
と呼ばれる文字列のベクトルを使用しますtimes
。
times
#[1] "2013-08-27 12:39:32" "2013-08-27 12:39:33" "2013-08-27 12:39:34"
#[4] "2013-08-27 12:39:35" "2013-08-27 12:39:36" "2013-08-27 12:39:37"
#[7] "2013-08-27 12:39:38" "2013-08-27 12:39:39" "2013-08-27 12:39:40"
#[10] "2013-08-27 12:39:41"
as.integer( as.POSIXct( times ) )
#[1] 1377603609 1377603610 1377603611 1377603612 1377603613 1377603614
#[7] 1377603615 1377603616 1377603617 1377603618
文字列にタイムゾーンが含まれていない場合は、たとえば、英国のサマータイムなどのtz
引数をに指定する必要があります。as.POSIXct
as.integer( as.POSIXct( times ) , tz = "BST" )
受け入れられた回答では、時間が 1 秒単位で切り捨てられます。POSIXct
ただし、実際には1秒未満の解像度を提供します。「statquant」によるコメントで述べたようにas.numeric
、正確なエポックを取得するために使用できます。
result = as.numeric(as.POSIXct(Sys.time()))
R の数字表示のデフォルト オプションでは、小数点の後ろに数字がないように見えることに注意してください。
> result
[1] 1480599768
ただし、これらは単に切り捨てられて表示されます。それらを表示するには、次を使用します。
> dput(result)
1480599767.58447
…またはoptions('digits')
より高い値に設定します。