2017-09-02 25 views
0

日付と時刻をどのように抽出するか教えてください( "2015-08-11 03:14:00 UTC - 2015-08-11 04:14: 00 UTC ")。この文字列には、2つの日付と2つの時間間隔が含まれています。私は日付1、時間1、日付2、時間2のような4つの個別の文字列に分解し、それらを4つの別々のベクトルに格納したいと考えています。文字列から2つの日付と時刻を抽出する

ありがとうございました。

+0

時オブジェクトは、それに関連付けられた日付を持っている必要があります。さらに分析するために、時間の部分を日付で保持し、結果をPOSIXctオブジェクトとして保存することをお勧めします。 – Dave2e

+0

今、私はChrとして "2015-08-10 07:14:00 UTC"を持っていて、私は以下を使用しましたが、NAはすべて得られます。データ$ datetime = as.POSIXct(データ$日時、形式= '%m /%d /%Y%H:%M')。 – Ali

+1

これは今動作します:as.POSIXct(データ$日時、形式= '%Y-%m-%d%H:%M:%S') – Ali

答えて

2

以下を試してください。

x <- "2015-08-11 03:14:00 UTC--2015-08-11 04:14:00 UTC" 
y <- strsplit(x, "--")[[1]] 

dates <- as.Date(y) 
times <- strftime(y, format = "%H:%M:%S") 
0

入力文字列から機能的な日付と時刻が必要かどうかは一切触れていません。単にタイムスタンプの各部分を解析する必要がある場合は、gsubを使用することが1つのオプションです。

x <- "2015-08-11 03:14:00 UTC--2015-08-11 04:14:00 UTC" 
y <- unlist(strsplit(x, "--")) 
dates <- sapply(y, function(x) gsub("(\\d{4}-\\d{2}-\\d{2}).*", "\\1", x)) 
times <- sapply(y, function(x) gsub(".*(\\d{2}:\\d{2}:\\d{2}.*)", "\\1", x)) 
dates 
[1] "2015-08-11" "2015-08-11" 
times 
[1] "03:14:00 UTC" "04:14:00 UTC" 

ここにデモ:Rで

Rextester

+0

ありがとうございます。私は簡単な方法も見つけました。文字列を定義してsubstr(str1、...、...)を使用することができます。 – Ali

関連する問題