Т.Л., д-р
LocalDateTime.parse(
"2016-12-26 14:18:57.0".replace(" " , "T")
)
.truncatedTo(ChronoUnit.SECONDS)
.toString()
.replace("T" , " ")
Избегайте устаревших даты и времени занятия
Вы используете хлопотно старые классы даты и времени, теперь наследство, вытеснен java.time классы.
ISO 8601
Сначала замените пространство в середине вашей входной строки, чтобы привести его в соответствие со стандартным форматом ISO 8601.
String input = "2016-12-26 14:18:57.0".replace(" " , "T");
LocalDateTime
Анализировать как LocalDateTime
при условии, что ваш входной строки не хватает каких-либо признаков офсетной из-UTC или часового пояса.
LocalDateTime ldt = LocalDateTime.parse(input);
Сформировать строку простым вызовом toString
. По умолчанию для создания строки используется формат ISO 8601. Если значение не имеет дробной секунды, не появляется десятичная метка или цифры в разряде секунды.
String output = ldt.toString();
ldt.toString(): 2016-12-26T14: 18: 57
Если вы не любите T
в середине, замените ПРОСТРАНСТВЕ.
output = output.replace("T" , " ");
2016-12-26 14:18:57
Если ваш вклад может нести дробный второй, и вы хотите, чтобы удалить эту часть данных целиком, а не просто подавить его дисплей, усечь объект LocalDateTime
.
LocalDateTime ldtTruncated = ldt.truncatedTo(ChronoUnit.SECONDS); // Truncate any fraction of a second.
О java.time
java.time каркас встроен в Java 8 и более поздних версий. Эти классы вытесняют неприятные старые legacy классы времени, такие как java.util.Date
, Calendar
, & SimpleDateFormat
.
Проект Joda-Time, в настоящее время в maintenance mode, советует перейти на классы java.time.
Чтобы узнать больше, см. Oracle Tutorial. И поиск Stack Overflow для многих примеров и объяснений. Спецификация: JSR 310.
Где получить классы java.time?
- Java SE 8 и SE 9, а затем
- Встроенный.
- Часть стандартного Java API с объединенной реализацией.
- Java 9 добавляет некоторые незначительные функции и исправления.
- Java SE 6 и SE 7
- Большая часть функциональности java.time будет обратно портирован на Java 6 & 7 в ThreeTen-Backport.
- Android
Проект ThreeTen-Extra расширяет java.time с дополнительными классами. Этот проект является доказательством возможных будущих дополнений к java.time. Здесь вы можете найти полезные классы, такие как Interval
, YearWeek
, YearQuarter
и more.
Какой у вас формат? –
Возможный дубликат [Изменить формат даты в строке Java] (http://stackoverflow.com/questions/4772425/change-date-format-in-a-java-string) – mismanc
Измените формат, и вы получите о чем вы просите. * '' Хммм ...Вы на самом деле уже получаете то, о чем просите, вы просто не просите, чего хотите. Слишком плохой компьютер не может читать ваши мысли, чтобы знать, что вы хотите, и только делать именно то, что вы говорите, да? ' ' * –
Andreas