2012-02-15 16 views
2

日付が入っています。したがって、たとえば02/16/2012です。私のデータベースフォーマットで作業するために必要なのは2012-02-16に変換されます。私はこれがかなり簡単だと考えました。しかし、私はそれを動作させることはできません。ここに私の日付パーサーがあります。DateFormat解析エラー

String endDateString = "02/16/2012" 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd"); 
endDate = dateFormat.parse(endDateString) 

ありがとう。あなたが間違った形式で

new SimpleDateFormat("MM/dd/yyyy"); 

答えて

1

あなたは正しいものからそれを解析する必要がありますフォーマットし、別の正しいフォーマットでTO文字列に変換します。何をしているのですか?フォーマットの日付をyyyy-MM-ddという形式で解釈しようとしています。つまり、間違っています。あなたが何をしたいか

SAMPLE

public static void main(String[] args) throws ParseException { 

    SimpleDateFormat sourceFormat = new SimpleDateFormat("MM/dd/yyyy"); 
    SimpleDateFormat destinationFormat = new SimpleDateFormat("yyyy-MM-dd"); 

    String sourceDateString = "02/16/2012"; 
    String destinationDateString; 

    Date dat; // this object stores "perfect" date object 

    // interpreting string with input format and converting it to date 
    dat = sourceFormat.parse(sourceDateString); 

    // expressing date object as string in destination format 
    destinationDateString = destinationFormat.format(dat); 

    System.out.format("Done from %s to %s\n", sourceDateString, destinationDateString)); 


} 
-1

指定した日付フォーマットがそうのようなあなたの入力の日付形式に一致する必要があります:

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
0

を解析している

4

は、あなたが

final SimpleDateFormat odf = new SimpleDateFormat("yyyy-MM-dd"); 
final String s = odf.format(indate); 
を希望するフォーマットに Dateオブジェクトを再フォーマット

final SimpleDateFormat idf = new SimpleDateFormat("MM/dd/yyyy"); 
final Date indate = idf.parse("02/16/2012"); 

Dateオブジェクトに入ってくるのフォーマットを解析しています

0

このスニペットでは、スニペットを取得する方法を説明できます。

SimpleDateFormat inputDateFormat = new SimpleDateFormat("MM/dd/yyyy"); 
SimpleDateFormat outputDateFormat = new SimpleDateFormat("yyyy-MM-dd"); 
String endDateString = "02/16/2012"; 
String endDate =  outputDateFormat.format(inputDateFormat.parse(endDateString)); 

参考:SimpleDateFormat

0

ます。また、データベースレベルで日付を変換することができます。たとえば、MySQLにはSTR_TO_DATEという関数があります。あなたの場合はSTR_TO_DATE('02/16/2012 '、'%m /%d /%Y ')