Java String に Oracle のタイムスタンプ フィールドがあります
String strDate = "24.12.12 03:30:00,000"; //Oracle のタイムスタンプ フィールド
Java.util.Date に変換する必要があります。
これを行う方法を教えてください。
注: 年の最初の 2 桁がありません。これが 1912 年または 2012 年であることを Java が理解するにはどうすればよいでしょうか。
必要なクラスはSimpleDateFormatです。予想される入力に一致するパターンを作成し、それを解析します。これが例ですが、場所によっては正しくない場合があります(0〜23時間使用した、1〜24時間使用したいなど)
String strDate = "24.12.12 03:30:00,000";
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yy HH:mm:ss,SSS");
Date date = sdf.parse(strDate);
1912対2012の問題に関して、Javaは、2桁しかない場合にいくつかの仮定を行います。具体的には:
省略された年のパターン(「y」または「yy」)を使用して解析する場合、SimpleDateFormatは、ある世紀を基準にした省略された年を解釈する必要があります。これは、SimpleDateFormatインスタンスが作成される前の80年以内と後の20年以内になるように日付を調整することによって行われます。