Ma non è più semplice usare la classe SimpleDateFormat del package java.text?
codice:
SimpleDateFormat sdf = new SimpleDateFormat("'Sono le ore' hh:mm:ss 'del' dd MMMM yyyy", Locale.ITALY);
System.out.println(sdf.format(new Date()));