4.8 日付を自動的に更新する

出力されたレポートに Rmd 文書がコンパイルされた日付を表示したいなら, YAML メタデータの date フィールドにインライン R コードを追加し, 現在の日付を得るために Sys.Date() or Sys.time() 関数を使用できます.

date: "`r Sys.Date()`"

もっと人間にとって読みやすい, 特定の日次フォーマットを指定したいかもしれません. 例えば以下のようにします.

date: "`r format(Sys.time(), '%x')`"

例えば 2022年2月20日 といったコードはあなたが文書を knit するごとに, 日付を動的に生成します. 日付のフォーマットをカスタマイズしたいならば, ご自分でフォーマット文字列を与えて変更できます. いくつか例をお見せしましょう.

  • %Y %B: 2022 2月
  • %y/%m/%d: 22/02/20
  • %b%d (%a): 2月20 (日)

4.1 は POSIXct フォーマットの一覧です.

表 4.1: Rにおける日付と時刻のフォーマット
コード 意味 コード 意味
%a 曜日の略称 %A 曜日の名称
%b 月の略称 %B 月の名称
%c ロケール依存の時刻フォーマット %d 数値表記の日
%H 数値表記の時間 (24 時間) %I 数値表記の時間 (12 時間)
%j 1年の何日目か %m 数値表記の月
%M 数値表記の分 %p ロケール依存の午前/午後フォーマット
%S 数値表記の秒 %U 年の何週目か (日曜日始まり)
%w 数値表記の曜日 (0=日曜日) %W 年の何週目か (月曜日始まり)
%x ロケール依存の日付フォーマット %X ロケール依存の時刻フォーマット
%y 下2桁表記の年 %Y 4桁表記の年
%z GMT との時差 %Z タイムゾーン (文字表記)

最後に, 説明文を日付に含めたいときのことを書いておきます. このように Rコードの前に「最終コンパイル日」のような何らかの文を追加することができます.

date: "最終コンパイル日 `r format(Sys.time(), '%Y/%m/%d')`"