Это ожидаемое поведение. Как указано в ?strptime
:
% y Год без века (00–99). При вводе значения от 00 до 68 начинаются с префикса от 20, а от 69 до 99 - от 19 - это поведение, определенное стандартами POSIX 2004 и 2008 годов, но они также говорят: «ожидается, что в будущей версии столетие по умолчанию будет выведено из 2-ди git год изменится.
По сути, для этого вопроса происходит то, что часть года игнорируется и имеет префикс, как определено в документах. Итак,
c("01/01/2019","08/16/1975")
Поскольку 2019 (20 часть) находится в диапазоне от 00 до 68, префикс равен 20, а поскольку 19 (с 1975 года) также находится в том же диапазоне, итоговые годы равны 2020 и 2019 году. Как указано в документах и в @ 42-, strptime
имеет дело только с первыми двумя цифрами части года, когда используется %y%
будущая версия, которую столетие по умолчанию выводит из 2-ди git год изменится