我在CRAN上发布了一个叫做UNF的软件包,它可以为一个data.frame
(用于数据引用)创建哈希值。我的软件包中有一些与日期时间格式相关的测试(我使用testthat)。它们在当前版本的R(3.1.3)上可以正确运行,但是一旦我提交到CRAN后,在“r-oldrel-windows”(3.0.3)上就会有其中一个测试失败。
我已经追踪到了问题的根源,出现差异的代码如下,在两个R版本中产生不同的结果。以下是正确的输出(来自3.1.3):
x = strptime("2014-08-22T16:51:05Z", "%FT%H:%M:%OSZ", tz="UTC")
x
# [1] "2014-08-22 16:51:05 UTC"
strftime(x, "%F")
# [1] "2014-08-22"
这里是 3.0.3 的输出结果:
x = strptime("2014-08-22T16:51:05Z", "%FT%H:%M:%OSZ", tz="UTC")
x
# [1] "2014-08-22 16:51:05 UTC"
strftime(x, "%F")
# [1] ""
如您所见,strftime
的输出是一个空字符字符串,而不是 ISO 8601 格式的日期。这两个版本之间有什么变化?我该如何更正?或者,我该如何避免 CRAN 上的测试失败?
%F
格式输出之前是不被支持的。谢谢! - Thomas