-1

だから私は頭を包むことができないというこの問題を抱えています。私は同様の質問を読んだことがありますが、フォーマットに問題があることがわかった場合、私のフォーマットは正しいです。

基本的に、文字列をタイムスタンプに変換しようとしていますが、解析不能な日付エラーが発生します。

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Hello {

public static Timestamp convertStringToTimestamp(String str_date) {
    try {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
        Date date = formatter.parse(str_date);
        java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
        return timeStampDate;

    } catch (ParseException e) {
        System.out.println("Exception :" + e);
        return null;
    }
}

public static void main(String[] args) {
    Timestamp ts = convertStringToTimestamp("2015-06-09 11:51:12,708");
    Timestamp ts2 = convertStringToTimestamp("2015-04-17 11:29:49.564");
    System.out.println(ts +" | "+ts2);


}

}

出力:

Exception :java.text.ParseException: Unparseable date: "2015-06-09 11:51:12,708"
Exception :java.text.ParseException: Unparseable date: "2015-04-17 11:29:49.564"
null | null

何か案は?

4

4 に答える 4

0

これは私にとって完璧に機能します。

入力として正しいパターンも渡しました。

public static Timestamp convertStringToTimestamp(String str_date, String pattern) {
        try {

            SimpleDateFormat formatter = new SimpleDateFormat(pattern);
            Date date = formatter.parse(str_date);
            java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
            return timeStampDate;

        } catch (ParseException e) {
            System.out.println("Exception :" + e);
            return null;
        }
    }

    public static void main(String[] args) {
        Timestamp ts = convertStringToTimestamp("2015-06-09 11:51:12,708", "yyyy-MM-dd HH:mm:ss,SSS");
        Timestamp ts2 = convertStringToTimestamp("2015-04-17 11:29:49.564", "yyyy-MM-dd HH:mm:ss.SSS");
        System.out.println(ts +" | "+ts2);


    }

出力は次のとおりです。

2015-06-09 11:51:12.708 | 2015-04-17 11:29:49.564
于 2015-06-23T14:57:04.730 に答える
0

「 2015-06-09 11:51:12,708」は機能しますが、「 2015-04-17 11:29:49.564」は機能しません。「、」の正規表現を指定したので、「。」しません。それは完全に正常です。

于 2015-06-23T14:57:30.593 に答える