title: How to format a date in uppercase?
body: <p>I'm trying to format a date in this way:</p>
  
  <pre><code>Monday 4, November, 2013
  </code></pre>
  
  <p>This is my code:</p>
  
  <pre><code>private static String formatDate(Date date) {
    Calendar calenDate = Calendar.getInstance();
    calenDate.setTime(date);
    Calendar today = Calendar.getInstance();
    if (calenDate.get(Calendar.DAY_OF_MONTH) == today.get(Calendar.DAY_OF_MONTH)) {
      return "Today";
    }
    today.roll(Calendar.DAY_OF_MONTH, -1);
    if (calenDate.get(Calendar.DAY_OF_MONTH) == today.get(Calendar.DAY_OF_MONTH)) {
      return "Yesterday";
    }
    // Guess what buddy
    SimpleDateFormat sdf = new SimpleDateFormat("EEEEE d, MMMMM, yyyy");
    // This prints "monday 4, november, 2013" ALL in lowercase
    return sdf.format(date);
  }
  </code></pre>
  
  <p>But I don't want to use some <code>split</code> method or do something like that. Isn't there some pattern that I can include in the regexp to make it be uppercase at the begin of each word?</p>
  
  <p><strong>UPDATE</strong>
  I'm from a hispanic country, something like <code>new Locale("es", "ES")</code> I get "martes 7, noviembre, 2013" when what I need is "Martes 7, Noviembre, 2013". </p>