我使用的是一台采用Ubuntu 10.04.4(清晰)和R版本2.15.3的机器。
我从命令行使用R CMD BATCH test.time.R
运行此R脚本,它运行正常:
format(Sys.time(), " %H")
[1] " 15"
format(Sys.time(), " %H") >= 12
[1] TRUE
但是当我从crontab运行* / 1 * * * * R CMD BATCH test.time.R时,它不会:
format(Sys.time(), " %H")
[1] " 15"
format(Sys.time(), " %H") >= 12
[1] FALSE
有什么想法?
这是唯一一台(四分之一)机器(其他机器从crontab上读得很好)。
我很感激任何想法。谢谢!
答案 0 :(得分:2)
如果您不必,请不要将字符串与数字进行比较。如果您从格式模式中删除了空格(即将其设为"%H"
而不是" %H"
),它应该可以正常工作。但是,在这种情况下,您不必引入字符串;您可以转换为POSIXlt
并提取hour
组件,将小时作为数字。试试这个:
as.POSIXlt(Sys.time())$hour > 12