- - PR -
NTPサーバー利用時のJavaでの日付の扱い
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-05-10 16:18
どうせだったら、 log.error("◆◆◆ toDate:ParseException", e); とやってスタックトレースも出力した方がいいと思います。 | ||||
|
投稿日時: 2005-05-10 20:27
そのcatchでつかまるかどうか微妙ですけど、自分のソースのどの行でエラーになっているのか確認した方がいいでしょうね。
そもそもDate関数のパラメータにnullが渡されていることは無いですよね? | ||||
|
投稿日時: 2005-05-10 20:56
そうですね。
しかし、そもそも何故動いていた同じ機械で NTPサーバーに接続したことが後、 上記の部分で落ちるようになってしまったんでしょう!!??? いずれにしても明日、検証するので NTPサーバーが原因かどうかはっきりすると思いますが・・・ | ||||
|
投稿日時: 2005-05-12 16:25
結論から言いますと一応解決しました。
public static Date ToDate(String strVal) { Date dt1 =null; try{ strVal = strVal.replaceAll("-","/"); DateFormat df = DateFormat.getDateInstance() ; dt1 = df.parse(strVal); } catch(ParseException e) { log.info("◆◆◆ toDate:ParseException:"+e.getMessage()); } finally {} return dt1; } を public static Date ToDate(String strVal) { Date dt1 =null; try{ strVal = strVal.replaceAll("-","/"); SimpleDateFormat sdf = new SimpleDateFormat(); sdf.setLenient( false ); //フォーマットの検査が厳密になり2001/02/29がエラーとなります。 sdf.applyPattern( "yyyy/MM/dd" ); //フォーマットを明示的に指定 dt1 = sdf.parse( strVal ); } catch(ParseException e) { log.info("◆◆◆ toDate:ParseException:"+e.getMessage()); } finally {} return dt1; } に変更したら動きました。 しかし、何故、書式が変わってしまったのかは???です。 |