Rad*_*ish 5 format datetime r datetime-format
我是R.的新手.我在工作中使用Windows PC,在家中使用Ubuntu Linux.我试图找出为什么我的代码在Windows R中不起作用.我试图找到给定日期的一周(数字).使用格式,format(Sys.time(), "%u")
它适用于Linux而不是Windows?我错过了什么,我从两台PC上添加了一个简单的代码和会话信息.
我的Windows 7 PC输出R 3.01
sessionInfo() 
R version 3.0.1 (2013-05-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252    
LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base  
format(Sys.time(), "%u") 
[1] ""   
Sys.time()  
[1] "2013-09-22 10:34:00 CDT"
我的LINUX PC输出R 3.01
sessionInfo()  
R version 3.0.1 (2013-05-16)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
[3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
[5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
[7] LC_PAPER=C                 LC_NAME=C                 
[9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     
loaded via a namespace (and not attached)
[1] tools_3.0.1   
format(Sys.time(),"%u")  
[1] "7"   
Sys.time()  
[1] "2013-09-22 10:34:15 CDT" 
这是R(在Windows上)记录的行为.
有关详细信息,请参阅?strptime(我知道,可能不是您可能想到的第一个地方;-)其中记录了R中可用的日期 - 时间转换规范.在详细信息下,所有操作系统上的规范的初始列表后面跟着一个部分这是:
在当前标准中也定义但实施较少(例如,不适用于Windows上的输出)
'%C'世纪(00-99):年份的整数部分除以100.
[...许多剪断的线条..]
'%u'工作日为十进制数(1-7,星期一为1).
[...更多剪断的线条..]
最接近的替代品format是:
%w工作日为十进制数(0-6,星期日为0).
%a当前语言环境中的缩写工作日名称.(在输入时也匹配全名.)
%A当前语言环境中的完整工作日名称.(也匹配输入上的缩写名称.)
您可以检查ISOweekday()包中的功能ISOweek:
"此函数根据ISO 8601返回给定日期的工作日.它可以替代Windows上未实现的"%u"格式."
ISOweekday("2013-09-24 01:42:23")
# [1] 2