2015-10-26 15 views
5

Come rimuovere T nel mio data locale?LocalDate - Come rimuovere il carattere "T" in LocalDate

Ho bisogno di rimuovere la "T" per abbinare i dati nel mio database.

Questo è il mio codice

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

ho ottenuto questo output:

2015-10-23T03:34:40 

Qual è il modo migliore per rimuovere il carattere 'T'? Qualche idea ragazzi?

+3

Utilizzare un 'DateTimeFormat' – MadProgrammer

+2

"per abbinare i dati nel mio database"? Le tue date sono memorizzate come 'VARCHAR' ???? – Andreas

+0

@Andreas Sto usando datetime in MySQL – SkyvrawleR

risposta

6

Qual è il modo migliore per rimuovere il carattere "T"? Qualche idea ragazzi?

Utilizzare un DateTimeFormatter per formattare il valore della LocalDateTime il modo in cui si desidera ...

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

che stampa ...

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

Ricordate, data/oggetti di tempo sono solo un contenitore per la quantità di tempo trascorso da un punto fisso nel tempo (come l'epoca Unix), non hanno un proprio formato interno/configurabile, tendono a utilizzare il formato della locale corrente.

Invece, quando si vuole presentare il valore di data/ora, si deve prima utilizzare un DateTimeFormatter per formattare il valore di data/ora per che cosa mai formattare che si desidera e visualizzare che

Ho bisogno di rimuovere il 'T' per abbinare i dati nel mio database.

Opps, perso quella parte.

In questo caso, si dovrebbe essere convertendo i valori data/ora per utilizzare java.sql.Timestamp e utilizzando un PreparedStatement per inserire/aggiornarli

+0

Qualche idea su come rimuovere trailing '.0'? 2015-10-23 03: 34: 40.0 <--- – SkyvrawleR

+2

'sottostringa()', ma dove stai ottenendo tale valore? Niente mostrato finora farebbe quello. – Andreas

+0

da sql.timestamp, non importa, MySQL non lo rileva. Grazie signore – SkyvrawleR

Problemi correlati