私のプログラムでは、タイム スタンプをミリ秒単位で定義する文字列を受け取ります。これを適切な日付に変換する必要があります。私が見つけた解決策は次のようになります。
String aTime = "1365504203.0269";
double t = Double.parseDouble(aTime);
Date date = new Date((long)t*1000);
SimpleDateFormat dateFormatDDMMYYYY = new SimpleDateFormat("dd.MM.yyyy");
SimpleDateFormat dateFormatHHMMssSS = new SimpleDateFormat("HH:mm:ss:SS");
String day = new String(dateFormatHHMMssSS.format(date));
String hour = new String(dateFormatDDMMYYYY.format(date));
System.out.println("The Date: "+day);
System.out.println("The Time: "+hour);
残念ながら、これによりタイムスタンプからミリ秒の精度が失われます。(もうほとんど考えられないので、時間がそれほど正確かどうかはわかりません。)
double->long 変換で失われたのか、それともまったく存在しなかったのか? この問題を回避する方法はありますか?