Convert string to date, format: "dd.mm.yyyy"

D <- "06.12.1948" # which is dd.mm.yyyy as.Date(D, "%d.%m.%y") # convert to date [1] "2019-12-06" # ???? 

What is it that I am missing?

Sys.getlocale (category = "LC_ALL") [1] "LC_COLLATE = German_Austria.1252; LC_CTYPE = German_Austria.1252; LC_MONETARY = German_Austria.1252; LC_NUMERIC = C; LC_TIME = German_Austria.1252"

+7
source share
1 answer

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'. 
+19
source

All Articles