我如何转换y%m%d%H
格式化为"%Y%m%d %H:%M:%S"
。我的日期从 1970 年到 2010 年。
部分来自评论(如果您可以相应地修改问题,那就太好了),似乎这不是格式化的情况(%y
vs %Y
或空格/分隔符),但是strptime
/POSIX*t
当指定“午夜”时间时,自动设置格式以跳过小时/分钟/秒。 (这是我根据以下示例当前的猜测,但我可能错过了一些东西。)
with %y
,非午夜时间:
> str(strptime("00020304",format="%y%m%d%H"))
POSIXlt[1:1], format: "2000-02-03 04:00:00"
同上,午夜时间:
> str(strptime("00020300",format="%y%m%d%H"))
POSIXlt[1:1], format: "2000-02-03"
午夜时间(带空格)
> str(strptime("00 02 03 00",format="%y %m %d %H"))
POSIXlt[1:1], format: "2000-02-03"
具有一个午夜和一个非午夜时间的向量:
> str(strptime(c("00020300","00020304"),format="%y%m%d%H"))
POSIXlt[1:2], format: "2000-02-03 00:00:00" "2000-02-03 04:00:00"
所以看起来德克的答案是正确的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)