The reason for this behavior is that when you specify the locality of the text conversion, you specify the locality of the output, not the locality of the parsing of the date format string.
Using German (Switzerland) means that the letter specifying day in the date is t, for month it is M, and for year it is j.