2011-12-16 23 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