2011-12-16 24 views
9

我确定这是非常基本的,但我无法从系统日期中提取各种时间间隔。简单地说,我不知道为什么我无法使用%M或%S准确提取当前的分钟和秒。有什么想法吗?获取当前时间,包括来自Sys.Date()在R中的秒数

它目前在我的机器上是12:38 pm。

> format(Sys.Date(), "%c") 
[1] "12/16/2011 12:00:00 AM" 

> R.Version() 
$platform 
[1] "i386-pc-mingw32" 

$arch 
[1] "i386" 

$os 
[1] "mingw32" 

$system 
[1] "i386, mingw32" 

$status 
[1] "" 

$major 
[1] "2" 

$minor 
[1] "14.0" 

$year 
[1] "2011" 

$month 
[1] "10" 

$day 
[1] "31" 

$`svn rev` 
[1] "57496" 

$language 
[1] "R" 

$version.string 
[1] "R version 2.14.0 (2011-10-31)" 
+0

它适用于我`format(Sys.time(),“%H: %M:%S“)`”14:49:41“ – 2011-12-16 17:50:05

回答

12

对于这一点,你可能想使用Sys.time()而不是Sys.Date()

format(Sys.time(), "%S") 

Sys.Date返回Date对象,本质上是像 “YYYY-MM-DD” 形式的字符串。它不记录小时,分钟或秒钟。

(这是略向你隐藏在您的来电format(Sys.Date, "%S")因为分派方法,format.Date一种转换Date对象到POSIXlt对象确实有小时,分钟和秒。在这种转换中,Date对象被看作是表示GMT时间的午夜时间 - 因此,它总是返回秒数元素的值“00”。)

+0

就像我说的,我错过了一些非常明显的东西。谢谢! – Btibert3 2011-12-16 17:47:13