Ответ 1
Страница справки на самом деле намекает на разницу:
Value:
‘as.POSIXct’ and ‘as.POSIXlt’ return an object of the appropriate
class. If ‘tz’ was specified, ‘as.POSIXlt’ will give an
appropriate ‘"tzone"’ attribute.
Этот материал полон - я думаю, что существует неявное преобразование TZ для as.POSIXct
. Рассмотрим, что
R> print(as.numeric(as.POSIXct(as.POSIXlt(1268736919,
origin="1970-01-01"))), digits=10)
[1] 1268736919
R> print(as.numeric(as.POSIXct(1268736919, origin="1970-01-01")), digits=10)
[1] 1268758519
второй (используя as.POSIXct
) не возвращает исходный вход. К сожалению, Брайан Д. Рипли, кажется, единственный человек, имеющий все подробности здесь.
Наконец, вы не можете сделать это без начала. Но вы можете определить обертки, которые используют эпоху как источник (как здесь), или использовать 2000-01-01 или... Просто держите ее в соответствии.