Я добавлю мое мнение, что ваше решение совершенно правильно, но если вы хотите что-то другое:
var myDate = '15-07-2011';
myDate.split('-').reverse().join('-');
даст вам «2011-07-15», который, хотя и не совсем то, что вы просили, будет правильно проанализирован Date