Geben Sie das Eingabeformat an und verwenden Sie %OS
, um die Sekunden mit ihren Nachkommastellen darzustellen.
x <- c("2014-02-24 11:30:00.123", "2014-02-24 11:30:00.456")
y <- as.POSIXct(x, format = "%Y-%m-%d %H:%M:%OS")
Wenn Sie kommen, um den Wert anzuzeigen, eine Zahl zwischen 0 und 6 mit dem Format-String anhängen R zu sagen, wie viele Dezimalstellen von Sekunden angezeigt werden soll.
format(y, "%Y-%m-%d %H:%M:%OS6")
## [1] "2014-02-24 11:30:00.122999" "2014-02-24 11:30:00.456000"
(Beachten Sie, dass Rundungsfehler zu erhalten, und Datetime-Formatierungen R immer rundet nach unten, so dass, wenn Sie zeigen weniger Dezimalstellen es manchmal aussieht wie Sie eine Millisekunde verloren haben.)
Datums-Zeitformate dokumentiert auf der Hilfeseite ?strptime
. Der betreffende Absatz lautet:
Specific to R is '%OSn', which for output gives the seconds
truncated to '0 <= n <= 6' decimal places (and if '%OS' is not
followed by a digit, it uses the setting of
'getOption("digits.secs")', or if that is unset, 'n = 3').
Further, for 'strptime' '%OS' will input seconds including
fractional seconds. Note that '%S' ignores (and not rounds)
fractional parts on output.