これは多くの人が必要とするかもしれないかなり一般的なユーティリティですが、奇妙なことにグーグルは私に一致する答えを表示しません。HH:MM:SS.NANOSECONDPRECISION
秒後9桁の形式のタイムスタンプがあります。Rにそのような列が2つあり、違いを見つける必要があります。POSIXを使用して、このような文字のタイムスタンプを同等の数値に変換する方法を見つけることができません。
送信時刻-11:20:30.791372292受信時刻11:20:30.791382216これら2つのタイムスタンプの違いを見つける良い方法は何ですか
あなたの時間が常に同じ日付であると仮定するのが安全である限り、以下は機能します。毎回、1日の開始以降に発生したナノ秒数として再計算されます。24時間制を想定しています。
sent_time <- "11:20:30.791372292"
receive_time <- "11:20:30.791382216"
convert_nano <- function(x){
require(magrittr)
split <-
#* split up the time components
strsplit(x, ":") %>%
#* convert strings to numerics
lapply(as.numeric) %>%
#* convert each component to nanoseconds
vapply(function(s) sum(s * c(3600, 60, 1) * 10 ^ 9),
numeric(1))
}
convert_nano(receive_time) - convert_nano(sent_time)
異なる日に発生する時間に遭遇する場合は、同様のアプローチをとることができますが、2回の間にある可能性のある日数の上限を検討することをお勧めします。2日かかると、ナノ秒を適切に表すことができなくなります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加