Другие ответы, как правило, верны. Я хотел бы внести современный ответ. Классы Date
, DateFormat
и SimpleDateFormat
, используемые в большинстве других ответов, давно устарели и на протяжении многих лет создавали проблемы для многих программистов. Сегодня у нас намного лучше в java.time
, AKA JSR-310, современном Java-интерфейсе даты и времени. Можете ли вы использовать это на Android еще? Несомненно! Современные классы были перенесены на Android в проекте ThreeTenABP. См. этот вопрос: как использовать ThreeTenABP в Android Project для всех деталей.
Этот фрагмент должен помочь вам начать:
int year = 2017, month = 9, day = 28, hour = 22, minute = 45;
LocalDateTime dateTime = LocalDateTime.of(year, month, day, hour, minute);
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.MEDIUM);
System.out.println(dateTime.format(formatter));
Когда я устанавливаю предпочитаемый язык моего компьютера на английский (США) или английский (Великобритания), выводится:
Sep 28, 2017 10:45:00 PM
Когда вместо этого я устанавливаю его на датский, я получаю:
28-09-2017 22:45:00
Так что, следуйте конфигурации. Однако я не уверен, насколько точно он соответствует настройкам даты и времени вашего устройства, и это может варьироваться от телефона к телефону.