I know I can use android.text.format.DateFormat.getDateFormat() to format my dates, and android.text.format.DateFormat.getTimeFormat to format my times
To extend the answer, here's a functional example
DateUtils.formatDateTime(context, epochTimeInMs, DateUtils.FORMAT_ABBREV_MONTH | DateUtils.FORMAT_SHOW_DATE);
This would print Apr 8 for a US Locale, or 8 de abr for a Spanish Locale
You can see the full list of valid flags at DateUtils documentation
Do you need the String representation only? If yes, please have a look at
DateUtils.formatDateTime(Context context, long millis, int flags):
public static String formatDateTime (Context context, long millis, int flags)
in: android.text.format.DateUtils