Javaを使用しているJavaアプリケーションで作業しています8。
データベース(複数データベースOracle、Mysql、Postgres)を統合し、DB iのどこに作成日を文字列化します。
dBの日付形式は-2015-07-29 16:23:28.143です
これをDBから取得し、Localdatetimeオブジェクトに設定します
myObj.setCreated(rs.getTimestamp("created").toLocalDateTime());
ここで問題は、応答でミリ秒を表示/送信したくないことです。 2015-07-29 16:23:28のような日付を表示/送信したい
私はフォーマッタを試しましたが、文字列を与えるので失敗し、LocalDateTimeオブジェクトをStringに変更したくないので、これはすべてのJavaアプリケーションに大きな変更を引き起こすためです。
誰でもこれに関する解決策を知ることができます。
それらを_0
_に設定するだけです:
myObj.setCreated(rs.getTimestamp("created").toLocalDateTime().withNano(0));
サンプル/証明:
_import Java.time.LocalDateTime;
public class DateTimeSample {
public static void main(String[] args) {
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
System.out.println(ldt.withNano(0));
}
}
_
出力:
_2015-07-30T16:29:11.684
2015-07-30T16:29:11
_
これを試して、秒未満のものをドロップすることができます
ldt = ldt.truncatedTo(ChronoUnit.SECONDS);