The format is case sensitive ("% y" is ambiguous and system dependent, I suppose):
as.Date(D, "%d.%m.%Y") [1] "1948-12-06"
The help section ?strptime
has information:
'%y' Year without century (00-99). On input, values 00 to 68 are prefixed by 20 and 69 to 99 by 19 - that is the behaviour specified by the 2004 and 2008 POSIX standards, but they do also say 'it is expected that in a future version the default century inferred from a 2-digit year will change'.
mdsumner
source share