始める無料で始める

時刻の作成とフォーマット

日付の操作と同様に、as.POSIXct() を使って文字列を POSIXct オブジェクトに変換したり、format() を使って POSIXct オブジェクトを文字列に変換したりできます。使用できる変換記号は多岐にわたります。

  • %H: 時(10進数、00〜23)
  • %I: 時(10進数、01〜12)
  • %M: 分(10進数)
  • %S: 秒(10進数)
  • %T: 標準フォーマット %H:%M:%S の省略表記
  • %p: AM/PM の表示

変換記号の全リストは、コンソールで strptime のドキュメントを参照してください。

?strptime

なお、as.POSIXct() は文字列を照合する際にデフォルトのフォーマット %Y-%m-%d %H:%M:%S を使用します。この演習では、タイムゾーンの違いは考慮しません。

この演習はコースの一部です

中級 R

コースを見る

演習の手順

  • タイムスタンプを表す2つの文字列 str1str2 を、それぞれ POSIXcttime1 という名前の time2 オブジェクトに変換してください。
  • format() を使って、time1 から分のみを含む文字列を作成してください。
  • time2 から、「時:分 AM/PM」の形式で時と分を取り出してください。正しい変換記号については、上の説明を参照してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Definition of character strings representing times
str1 <- "May 23, '96 hours:23 minutes:01 seconds:45"
str2 <- "2012-3-12 14:23:08"

# Convert the strings to POSIXct objects: time1, time2
time1 <- as.POSIXct(str1, format = "%B %d, '%y hours:%H minutes:%M seconds:%S")


# Convert times to formatted strings
コードを編集して実行