在我的一个 R 脚本中,我需要查找昨天的日期,我可以使用此命令在 Mac 上轻松完成此操作。
yesterday <- format(Sys.Date()-1,"%m/%d/%Y")
yesterday
[1] "03/17/2017"
所以基本上
Sys.Date()-1
给了我昨天的日期。但是,当我在 ubuntu 16.04 计算机(AWS 实例)上运行此命令时,它不起作用。它会返回今天的日期吗?还有其他人经历过吗?如果不使用 Sys.Date()-1
命令,如何获取昨天的日期?
更新:亚马逊AWS表示服务器位置位于加利福尼亚州北部,但经过进一步检查,似乎服务器的时区实际上比之前7小时?我使用这个工具,IP Location Finder 尝试对 IP 地址进行地理定位,并且在北加州找到了 IP?令人困惑,但现在我只是在日期变量中添加 7 小时,这是一个短期修复,但我想了解导致此时区问题的原因。
Sys.Date 返回“Date”类的对象,而 Sys.time 返回“POSIXct”类(DateTimeClasses)的对象。
Sys.time 会更容易操作精确时间,因为“POSIXct”是纪元后的秒数,而不是 Date 对象。请参阅:https://www.epochconverter.com/ 以更好地了解纪元时间。
无论如何,任何一种方法都应该有效,可能只是你的 Ubuntu 系统时间不正确。
lubridate::today() - 1
Sys.Date() - 1