- PR -

NTPサーバー利用時のJavaでの日付の扱い

投稿者投稿内容
yuzy
大ベテラン
会議室デビュー日: 2002/02/14
投稿数: 117
投稿日時: 2005-05-10 16:18
コード:
 log.info("◆◆◆ toDate:ParseException:"+e.getMessage());



どうせだったら、
log.error("◆◆◆ toDate:ParseException", e);
とやってスタックトレースも出力した方がいいと思います。
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2005-05-10 20:27
そのcatchでつかまるかどうか微妙ですけど、自分のソースのどの行でエラーになっているのか確認した方がいいでしょうね。
そもそもDate関数のパラメータにnullが渡されていることは無いですよね?
BLACKGUM
常連さん
会議室デビュー日: 2004/12/24
投稿数: 23
投稿日時: 2005-05-10 20:56
そうですね。

しかし、そもそも何故動いていた同じ機械で
NTPサーバーに接続したことが後、
上記の部分で落ちるようになってしまったんでしょう!!???

いずれにしても明日、検証するので
NTPサーバーが原因かどうかはっきりすると思いますが・・・
BLACKGUM
常連さん
会議室デビュー日: 2004/12/24
投稿数: 23
投稿日時: 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;

}

に変更したら動きました。

しかし、何故、書式が変わってしまったのかは???です。

スキルアップ/キャリアアップ(JOB@IT)