フォーマット変換の実装例

文字列の日時型がフォーマット違いで出てきたときに、JavaのSimpleDateFormatでフォーマット変換を行い時間が一致する(時間が新しい、古い)などを操作するための実装例を示します。

String specificTimestamp = Timestamp.valueOf("2023-06-06 12:34:56").toString();
System.out.println(specificTimestamp);
//2023-06-06 12:34:56.0
		
String datestr = "20230606-123456";
System.out.println("変更前:"+ datestr);
//変更前:20230606-123456

//上記datestrの日時をDate型に変換
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd-HHmmss");
Date date = formatter.parse(datestr);
System.out.println(date);
//Tue Jun 06 12:34:56 JST 2023

//上記Date型のデータをspecificTimestampと同じフォーマットに変換
SimpleDateFormat formatterConvert = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = formatterConvert.format(date);
System.out.println("変更後:"+ formattedDateTime);
//変更後:2023-06-06 12:34:56

System.out.println(specificTimestamp.contains(formattedDateTime));
//true※.0があるので、完全一致はしないが、それ以外は一致する

フォーマット変換について触れることがあったため、その備忘録です。

参考文献

https://docs.oracle.com/javase/jp/8/docs/api/java/text/SimpleDateFormat.html

https://docs.oracle.com/javase/jp/8/docs/api/java/time/Instant.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です