2015-10-26 4 views
5

Tをローカルディスカウントで削除するには?LocalDate - LocalDateの文字 'T'を削除するには

データベースのデータと一致するように 'T'を削除する必要があります。

2015-10-23T03:34:40 

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

私のコードですか?どんなアイデアみたいな?

+3

は「私のデータベース内のデータを一致させるために」 'DateTimeFormat' – MadProgrammer

+2

を使用しますか?あなたの日付は 'VARCHAR'として保存されていますか? – Andreas

+0

@Andreas私はMySQLでdatetimeを使用しています – SkyvrawleR

答えて

6

「T」文字を削除するにはどうすればよいですか?どんなアイデアみたいな?

印刷し
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 

日付/時刻オブジェクトだけであることを覚えておいてください... LocalDateTimeあなたがそれを望むように値をフォーマットするDateTimeFormatterを使用して、固定小数点(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はそれを検出しません。ありがとうございます – SkyvrawleR

関連する問題