1

我正在使用一台使用 Ubuntu 10.04.4 (lucid) 和 R 版本 2.15.3 的机器。

我使用从命令行运行这个 R 脚本R CMD BATCH test.time.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 中读取得很好)。

我会很感激任何想法。谢谢!

4

1 回答 1

2

如果不需要,不要将字符串与数字进行比较。如果您从格式模式中删除了空格(即用它"%H"代替了" %H"),它应该可以工作。但是,在这种情况下您不必引入字符串;您可以通过转换POSIXlt和提取hour组件来获取小时数。尝试这个:

as.POSIXlt(Sys.time())$hour > 12
于 2013-07-30T22:43:19.747 回答