2016-05-20 9 views
0

日付の解析(dateInString)に関するヘルプが必要です。私は日付の解析に新しいです。ヘルプ解読不可能な日付: ""

String dateInString = Commons.getString(row.getCell(1)); 
Date date = new Date(); 
if (!dateInString.equals("null") || !dateInString.equals("")) { 
    DateFormat formatter = new SimpleDateFormat("dd.MM.yy"); 
    date = formatter.parse(dateInString); 
} 
java.sql.Date sDate = convertUtilToSql(date); 

private java.sql.Date convertUtilToSql(Date date) { 
    java.sql.Date sDate = new java.sql.Date(date.getTime()); 
    return sDate; 
} 

excel data

+0

のようなものに変更する必要があることを推測します。したがって、 'dateInString'を定義する前の行は、あなたが期待しているものを返さないことになります。 –

+3

あなたの質問に入力(dateInString)を含めてください。 – Unknown

+0

@JimGarrison私はコードを変更しようとしましたが、同じエラーが発生しました – spt

答えて

0

ため おかげであなたのif文が正しくないようです。文字列のコンテキストがnullでないか文字列が空でない場合、解析を開始します。それは私には間違っています。解析は、dateStringがNULLでなく、値nullを含んでいない場合にのみ発生し、空の文字列ではありません。

だから私は、一部

if (!dateInString.equals("null") || !dateInString.equals("")) { 
    DateFormat formatter = new SimpleDateFormat("dd.MM.yy"); 
    date = formatter.parse(dateInString); 
} 

はメッセージが `parse`(すなわち` dateInString`)への入力が空の文字列だったと言い

if (dateString!= null && !dateInString.equals("null") && !dateInString.trim().isEmpty()) { 
    DateFormat formatter = new SimpleDateFormat("dd.MM.yy"); 
    date = formatter.parse(dateInString.trim()); 
} 
+0

null値も変更後にデータベースに挿入されます – spt

+0

それは正確にはどういう意味ですか?元の実装は、nullをdateStringとして何もしていないようです。 – uniknow

+0

if文を使用しているときにNULL値が挿入されています – spt

関連する問題