code: public static String getDateTimeString(Date self) {
          return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM).format(self);
      }
docs: <p>Return a string representation of the date and time time portion of
  this Date instance, according to the locale-specific format used by
  {@link java.text.DateFormat}.  This method uses the {@link java.text.DateFormat#SHORT}
  preset for the day portion and {@link java.text.DateFormat#MEDIUM} for the time
  portion of the output string.
  <p>
  <p>Note that a new DateFormat instance is created for every
  invocation of this method (for thread safety).
  
  @param self a Date
  @return a string representation of this date and time
  @see java.text.DateFormat#getDateTimeInstance(int, int)
  @since 1.5.7