Location クラスと getTime() メソッドを使用して、Android で現在の時刻を取得しています。次に、その長い番号を他のデバイスに送信しています。そのデバイスは Long 番号を受け取り、メッセージ ボックスにデータを表示する必要がありますが、それを DD:MM:YY と時刻 (または実際には人間が読み取れるもの) に変換する方法がわかりません。どうすればいいですか?現在の形式は使用できません。平均的なユーザーが読めるものでなければなりません。
ありがとうございました!
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
が、おそらく他のものです...あなたはこの方法でこれを行います
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);
ここから: http://developer.android.com/reference/android/location/Location.html#getTime%28%29 getTime メソッドが 1970 年 1 月 1 日からの時間をミリ秒単位で返していることがわかります。
これは、必要な日付形式を取得する方法に役立つかもしれません: Javaで「unixtime」を取得する