2015-10-26 2 views
5

Как удалить T в моем localDate?LocalDate - Как удалить символ 'T' в LocalDate

Мне нужно удалить «T» для соответствия данным в моей базе данных.

Это мой код

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.US); 

String strLocalDate = patientDiagnosisByDoctor.getDiagnosisDateTime().toLocalDateTime().toString(); 

LocalDateTime localDate = LocalDateTime.parse(strLocalDate, formatter); 

System.out.println(localDate); 

Я получил этот результат:

2015-10-23T03:34:40 

Что является лучшим способом для удаления символа 'Т'? Есть идеи, ребята?

+3

Используйте 'DateTimeFormat' – MadProgrammer

+2

« чтобы соответствовать данным в моей базе данных»? Сохраняются ли ваши даты как 'VARCHAR' ???? – Andreas

+0

@Andreas Я использую datetime в MySQL – SkyvrawleR

ответ

6

Каков наилучший способ удаления символа 'T'? Есть идеи, ребята?

Используйте DateTimeFormatter для форматирования значения LocalDateTime так, как вы хотите ...

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss", Locale.US); 

String strLocalDate = "2015-10-23T03:34:40"; 

LocalDateTime localDate = LocalDateTime.parse(strLocalDate, formatter); 

System.out.println(localDate); 
System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(localDate)); 
System.out.println(DateTimeFormatter.ofPattern("HH:mm:ss yyyy-MM-dd ").format(localDate)); 

который печатает ...

2015-10-23T03:34:40 
2015-10-23 03:34:40 
03:34:40 2015-10-23 

Помните, что дата/время объекты просто контейнер за время, прошедшее с фиксированной точки во времени (например, эпоха Unix), у них нет собственного/настраиваемого формата, они, как правило, используют формат текущего локали.

Вместо этого, когда вы хотите, чтобы представить значение даты/времени, вы должны сначала использовать DateTimeFormatter для форматирования значение даты/времени на то, что когда-либо формат, который вы хотите, и отображать что

Мне нужно удалить 'T' для сопоставления данных в моей базе данных.

Opps, пропущенный эта часть.

В этом случае, вы должны преобразовать ваши значения даты/времени, чтобы использовать java.sql.Timestamp и используя PreparedStatement для вставки/обновления их

+0

Любая идея о том, как удалить завершающий '.0'? 2015-10-23 03: 34: 40.0 <--- – SkyvrawleR

+2

'substring()', но где вы получаете это значение? Пока ничего пока не сделано. – Andreas

+0

из sql.timestamp, nevermind, MySQL этого не обнаруживает. Спасибо, sir – SkyvrawleR

Смежные вопросы