2

Location クラスと getTime() メソッドを使用して、Android で現在の時刻を取得しています。次に、その長い番号を他のデバイスに送信しています。そのデバイスは Long 番号を受け取り、メッセージ ボックスにデータを表示する必要がありますが、それを DD:MM:YY と時刻 (または実際には人間が読み取れるもの) に変換する方法がわかりません。どうすればいいですか?現在の形式は使用できません。平均的なユーザーが読めるものでなければなりません。

ありがとうございました!

4

3 に答える 3

6

Joda Timeを使用したくない場合(Android アプリでは少し大きいかもしれません)、おそらく次のDateFormatようなものを使用する必要がありSimpleDateFormatます。

// See notes below
DateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = new Date(location.getTime());
String formatted = format.format(date);

ただし、考慮すべき文化的な問題があります。

  • デフォルトが自分に合わないと思われる場合は、ロケールを明示的に設定することをお勧めします。
  • フォーマットをハードコードするのではなく、DateFormat.getDateTimeInstance()
  • 関心のあるタイムゾーンを検討する必要があります。おそらく、ユーザーのタイムゾーンは、作成するすべてのデフォルトである必要がありますDateFormatが、おそらく他のものです...
于 2012-10-05T13:47:17.273 に答える
4

あなたはこの方法でこれを行います

long longD// as you receive in long format

Date d = new Date(longD);

SimpleDateFormat sdf = new SimpleDateFormat("dd:MM:yy");

String sDate = sdf.format(d);
于 2012-10-05T13:48:03.310 に答える
0

ここから: http://developer.android.com/reference/android/location/Location.html#getTime%28%29 getTime メソッドが 1970 年 1 月 1 日からの時間をミリ秒単位で返していることがわかります。

これは、必要な日付形式を取得する方法に役立つかもしれません: Javaで「unixtime」を取得する

于 2012-10-05T13:48:53.453 に答える