以下の形式の文字列を日付に変換するのが少し難しいです。 ParseExceptionをスローし続けます。Java文字列、DateFormatが機能しない
文字列:2015年11月14日17:29:Java string to date conversionが、任意の運を持っていない:16.543934
私は、すでにこの辺り特に、このリンクを見てきました。
ここに私の方法は、現在のようになります。
private Date parseTime(String input) {
// input format: 2015-11-14 17:29:16.543934
try {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ssSSSSSS");
Date date = format.parse(input);
return date;
} catch (ParseException e) {
System.out.println("Could not parse time. ID: " + this.id);
}
return null;
}
編集:私は(「」私はAを逃し述べ秒とミリ秒の間)下記た答えに
ジョンスキートが持っていました非常に良い点です: "それはあなたが期待している通りに動作しません。あなたの入力は543934ミリ秒と扱われますので、17:38:19として解析されます。
実際にこのレベルの精度は必要ありませんので、ミリ秒単位で切り捨てますが、小数点以下6桁の精度を保つ方法を知っていれば、どのように知ることができます。
あなたは、Java-8( 'java.time'パッケージのいずれかでマイクロ秒の精度を保つことができます)またはThreetenBP(Java-6 + 7のバックポート)またはMy Library Time4Jを使用してください。他のライブラリと古いJDKはミリ秒の精度しか提供していません。 –