Note that the date string you are putting in: "18-abr-2007 0:00:00" has only one digit for the hour: "0:00:00". If you specify "HH:mm:ss", then Java probably expects two digits, so it should look like "00:00:00".
Try "H:mm:ss" for the format string. (I haven't tested it myself, but probably it works).
Have a look at the API Docs for Locale. The single string constructor takes the language code only (i.e. "es" or "en"). There is a two string constructor for specifying language and country ("es" and "ES" for Spain, for example). This code works for me: