Точное преобразование из символа-> POSIXct-> символа с датами времени менее миллисекунды

У меня есть символьный столбец даты и времени в файле. Я загружаю файл (вdata.table) и делать вещи, которые требуют преобразования столбца вPOSIXct, Затем мне нужно написатьPOSIXct значение возвращается в файл, но дата и время не будут одинаковыми (потому что они напечатаны неправильно).

Эта проблема печати / форматирования хорошо известна и обсуждалась несколько раз. Я прочитал несколько постов, описывающих эту проблему. Самые авторитетные ответы, которые я нашел, даны в ответ наэтот вопрос, Ответы на этот вопрос обеспечивают две функции (myformat.POSIXct а такжеform), которые должны решить эту проблему, но они, похоже, не работают на этом примере:

x <- "04-Jan-2013 17:22:08.139"
options("digits.secs"=6)
form(as.POSIXct(x,format="%d-%b-%Y %H:%M:%OS"),format="%d-%b-%Y %H:%M:%OS3")
[1] "04-Jan-2013 17:22:08.138"
form(as.POSIXct(x,format="%d-%b-%Y %H:%M:%OS"),format="%d-%b-%Y %H:%M:%OS4")
[1] "04-Jan-2013 17:22:08.1390"
myformat.POSIXct(as.POSIXct(x,format="%d-%b-%Y %H:%M:%OS"),digits=3)
[1] "2013-01-04 17:22:08.138"
myformat.POSIXct(as.POSIXct(x,format="%d-%b-%Y %H:%M:%OS"),digits=4)
[1] "2013-01-04 17:22:08.1390"

мойsessionInfo:

R version 2.15.2 (2012-10-26)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252 LC_NUMERIC=C                        
[5] LC_TIME=C                              

attached base packages:
[1] stats     graphics  grDevices datasets  utils     methods   base     

other attached packages:
[1] fasttime_1.0-0   data.table_1.8.9 bit64_0.9-2      bit_1.1-9
[5] sas7bdat_0.3     chron_2.3-43     vimcom_0.9-6    

loaded via a namespace (and not attached):
[1] tools_2.15.2

Ответы на вопрос(4)

Ваш ответ на вопрос