3

Java String に Oracle のタイムスタンプ フィールドがあります

String strDate = "24.12.12 03:30:00,000"; //Oracle のタイムスタンプ フィールド

Java.util.Date に変換する必要があります。

これを行う方法を教えてください。

注: 年の最初の 2 桁がありません。これが 1912 年または 2012 年であることを Java が理解するにはどうすればよいでしょうか。

4

1 に答える 1

4

必要なクラスは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年以内になるように日付を調整することによって行われます。

于 2012-04-18T16:23:55.103 に答える