R の基本strptime
関数が、予期しない出力を提供しています。
これは期待どおりに機能します。
strptime(20130203235959, "%Y%m%d%H%M%S")
# yields "2013-02-03 23:59:59"
これも:
strptime(20130202240000, "%Y%m%d%H%M%S")
# yields "2013-02-03"
...しかし、そうではありません。なんで?
strptime(20130203000000, "%Y%m%d%H%M%S")
# yields NA
アップデート
この値20130204000000
は、次のコマンドを使用して Mac 10.7.5 システムで生成したログに表示されました。
➜ ~ echo `date +"%Y%m%d%H%M%S"`
20130204000000
更新 2
lubridateも試しましたが、これが推奨されているようです。
> parse_date_time(c(20130205000001), c("%Y%m%d%H%M%S"))
1 parsed with %Y%m%d%H%M%S
[1] "2013-02-05 00:00:01 UTC"
> parse_date_time(c(20130205000000), c("%Y%m%d%H%M%S"))
1 failed to parse.
[1] NA
now()
...そして、おかしなことに、真夜中に達するのに十分な秒数を追加すると、「00:00:00」が出力されました。
> now() + new_duration(13000)
[1] "2013-02-10 00:00:00 GMT"