Как я могу отформатировать строку даты "2010-07-14 09:00:02"
, чтобы изобразить только "9:00"
?
Извлечь время с даты String
Ответ 1
Используйте SimpleDateFormat
для преобразования между строкой даты и реальным Date
. с помощью Date
в качестве отправной точки вы можете легко применить форматирование на основе различных шаблонов, определенных в javadoc SimpleDateFormat
(щелкните ссылку на синий код для Javadoc).
Вот пример запуска:
String originalString = "2010-07-14 09:00:02";
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(originalString);
String newString = new SimpleDateFormat("H:mm").format(date); // 9:00
Ответ 2
Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2010-07-14 09:00:02");
String time = new SimpleDateFormat("H:mm").format(date);
http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
Ответ 3
Очень простой способ - использовать Formatter
(см. преобразования времени по времени) или более непосредственно String.format
, как в
String.format("%tR", new Date())
Ответ 4
Я предполагаю, что ваша первая строка является фактическим объектом Date, пожалуйста, исправьте меня, если я ошибаюсь. Если это так, используйте объект SimpleDateFormat: http://download.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html. Строка формата "h: mm" должна позаботиться об этом.
Ответ 5
Используя SimpleDateFormatter
Ответ 6
Если у вас есть дата в целых числах, вы можете использовать здесь:
Date date = new Date();
date.setYear(2010);
date.setMonth(07);
date.setDate(14)
date.setHours(9);
date.setMinutes(0);
date.setSeconds(0);
String time = new SimpleDateFormat("HH:mm:ss").format(date);
Ответ 7
Другие ответы были хорошими ответами, когда вопрос был задан. Время перемещается, Date
и SimpleDateFormat
заменяются более новыми и лучшими классами и выходят из употребления. В 2017 году используйте классы в пакете java.time
:
String timeString = LocalDateTime.parse(dateString, DateTimeFormatter.ofPattern("uuuu-MM-dd HH:mm:ss"))
.format(DateTimeFormatter.ofPattern("H:mm"));
Результат - желаемый, 9:00
.
Ответ 8
let datestring = "2017-02-14 02:16:28"
let formatter = DateFormatter()
formatter.dateStyle = DateFormatter.Style.full
formatter.timeStyle = DateFormatter.Style.full
formatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
let date = formatter.date(from: datestring)
let date2 = formatter.String(from: date)