2015-10-26 9 views
5

Jak usunąć T w moim localDate?LocalDate - Jak usunąć znak "T" w LocalDate

Potrzebuję usunąć "T", aby dopasować dane w mojej bazie danych.

To jest mój kod

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); 

Mam ten wynik:

2015-10-23T03:34:40 

Jaki jest najlepszy sposób, aby usunąć znak 'T'? Masz jakiś pomysł?

+3

Użyj 'DateTimeFormat' – MadProgrammer

+2

„ aby dopasować dane w mojej bazy danych”? Czy twoje daty są przechowywane jako "VARCHAR" ???? – Andreas

+0

@Andreas Używam datetime w MySQL – SkyvrawleR

Odpowiedz

6

Jaki jest najlepszy sposób na usunięcie znaku "T"? Masz jakiś pomysł?

Użyj DateTimeFormatter sformatować wartość LocalDateTime jak chcesz go ...

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)); 

która drukuje ...

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

Pamiętaj, że data/czas są tylko obiekty pojemnik na ilość czasu, który minął od ustalonego punktu w czasie (jak w przypadku uniksowej epoki), nie ma własnego wewnętrznego/konfigurowalnego formatu, mają tendencję do używania bieżącego formatu lokalnego.

Zamiast tego, gdy chcesz przedstawić wartość daty/czasu, należy najpierw użyć DateTimeFormatter sformatować wartość data/czas, aby to, co kiedykolwiek formatowanie chcesz i wyświetli że

muszę usunąć "T", aby dopasować dane w mojej bazie danych.

Opps, brakowało tej części.

W tym przypadku powinno być przekształcenie datę/czas, aby użyć wartości java.sql.Timestamp i za pomocą PreparedStatement włożyć/aktualizować je

+0

Każdy pomysł, jak usunąć końcowe ".0"? 2015-10-23 03: 34: 40.0 <--- – SkyvrawleR

+2

'substring()', ale gdzie uzyskujesz tę wartość? Nic, co się do tej pory nie udało. – Andreas

+0

z sql.timestamp, nevermind, MySQL tego nie wykrywa. Dziękuję, sir – SkyvrawleR

Powiązane problemy