3

「%m/%d/%y」の形式で解析している日付がたくさんあります。as.Date(dates, format = "%m/%d/%y")「1/01/64」のような日付を「2064-01-01」に変換しますが、「1964-01-01」にする必要があります。年が未来にある例を見つけて、世紀を引くことができると思いますが、それは少しばかげているようです。

4

2 に答える 2

3

日付は整数日として内部に保存されるため、入力時または出力時にのみそのようなフォーマットが存在します。世紀情報のない入力については、運が悪いと思います。%y 形式の仕様について ?strptime は次のように述べています。将来のバージョンでは、2 桁の年から推測されるデフォルトの世紀が変更されることが予想されます。」

  as.Date( "01/01/64", "%m/%d/%y", origin="1970-01-01") -100*365.25
  #[1] "1964-01-01"

2000 年問題が過去にさかのぼったことを考えると、世紀情報の削除を許可するプログラマーについて、法廷闘争を開始することは可能かもしれません。

デフォルトでは、00-68 年が 2000-2068 であると想定されるため、as.Dateshift を作成することは確かに可能です。

于 2012-08-01T23:53:18.783 に答える