2011-12-16 11 views
9

Estoy seguro de que esto es bastante básico, pero no puedo extraer varios períodos de tiempo de la fecha del sistema. Simplemente, no estoy seguro de por qué no puedo extraer con precisión los minutos y segundos actuales usando% M o% S. ¿Alguna idea?Obtenga la hora actual, incluidos los segundos de Sys.Date() en R

Actualmente es 12:38 pm en mi máquina.

> 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

Funciona para mi 'formato (Sys.time(),"% H: % M:% S ")' "14:49:41" –

Respuesta

12

Para ello, es probable que desee utilizar en lugar de Sys.time()Sys.Date().

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

Sys.Date devuelve un objeto Date que es esencialmente una cadena de caracteres de una forma como "AAAA-MM-DD". No registra horas, minutos o segundos.

(Esto fue un poco escondido de usted en su llamada a format(Sys.Date, "%S") debido a que se envía en un método, format.Date que convierte el objeto Date a un objeto POSIXlt que hace tienen las horas, minutos y segundos. En esa conversión, el Date objeto se trata como si representara una hora a la medianoche GMT - de ahí el valor de "00" siempre regresa para su elemento de segundos.)

+0

Como dije, me estaba perdiendo algo muy obvio. ¡Gracias! – Btibert3

+0

Bueno, cuando se trata de omitir cosas 'obvias' sobre las manipulaciones de fecha y hora, puede estar seguro [siempre tendrá mucha buena compañía!] (Http://msmvps.com/blogs/jon_skeet/archive/2009 /11/02/omg-ponies-aka-humanity-epic-fail.aspx) –

+0

[Enlace actualizado a la referencia en el comentario anterior] (http://codeblog.jonskeet.uk/2009/11/02/omg-ponies- aka-humanidad-épica-falla /). –

Cuestiones relacionadas