Wir verwenden eine API, die die Epochenzeit in Millisekunden als einen Parameter hat.Konvertieren Sie POSIXct-Objekt in Epochzeit in Millisekunden als Zeichenfolge, Vermeidung von Integer-Überlauf?
Ursprünglich war ich
milli <- paste0(as.integer(posix) * 1000)
aber offenbar aufgrund R 32-Bit-Integer verwenden, die ziemlich schnell brach, weil sie implizit in einen doppelten umgewandelt wurde, als das Datum zu hoch bekam. Dann habe ich versucht
milli <- paste0(as.integer(posix), "000")
aber wieder, dass eine endliche Lebensdauer hat.
Another answer vorgeschlagen mit options(scipen = 1000)
, die funktioniert, aber bedeutet, dass Sie nicht wissenschaftliche Druck erhalten. Wenn das wirklich der einzige Weg ist, dies zu tun, dann wird es reichen, aber gibt es eine Möglichkeit, von POSIXct zu Epochzeit in Millisekunden als String zu wechseln, ohne zuerst zu numerisch konvertieren zu müssen?
Ich bin glücklich, irgendwelche Pakete zu verwenden, wenn das benötigt wird.
Könnte das etwas sein, das funktionieren kann? http://www.inside-r.org/questions/how-convert-posixct-numeric-milliseconds – theArun
Was ist Ihr (ultimativer) Datumsbereich? Eine Möglichkeit besteht darin, zuerst eine bestimmte Anzahl von Sekunden (z. B. abhängig vom Jahr) aus Ihrem Quellposix zu entfernen, so dass das numerische Ergebnis zu dem Wert ohne erste Ziffern (in Zeichen) führt, und dann diese Ziffern einfügen. Nicht einfach, stimme ich zu ... –
@Arun, die auch den wissenschaftlichen Druck verliert. Es ist die Lösung, die wir im Moment verwenden, aber es macht das Lesen großer Zahlen zu einem Schmerz. – Sean1708