0

長い値を日付文字列に変換して表示する必要があるアプリケーションに取り組んでいます。70's and 80's目的を達成するために次の関数を使用していますが、明らかに不適切な日付が返されています。私は次の機能を使用しています:

public static String convertDateFromLongToCompleteString(long date) {
    Date d = new Date(date * 1000);
    SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy hh:mm a");
    String formattedDateFromLong = dateformat.format(d);
    return formattedDateFromLong;
}

long値は単純System.currentTimeMillis()であり、ユーザーに表示する必要がある場合は、上記の関数を使用している値をフォーマットする必要があります。システムとデバイスの日付、ゾーンと時刻を確認しましたが、すべて問題ありません。この問題が発生する理由と正確な日付を取得するにはどうすればよいかを更新してください。ありがとう!

編集

私も1000を掛けないで試しました、それは私に1970年からの時間と日付を与えます。

4

3 に答える 3

0

上記のメソッドをでのみ使用している場合は、パラメーターなしでコンストラクターをSystem.currentTimeMillis()呼び出すことができます。これにより、現在の日付と時刻を参照するオブジェクトが提供されます。これは、問題を解決するためのより簡単な方法になります。お役に立てれば。DateDate

于 2013-02-28T11:35:48.807 に答える
0

long dateが単にの場合、とSystem.currentTimeMillis()の乗算1000は必要ありません。

Date d = new Date(date);

于 2013-02-28T11:27:53.987 に答える
0

Date d = new Date(date * 1000);と置き換えます Date d = new Date(date);

于 2013-02-28T11:29:30.153 に答える