2012-03-07 45 views
1

私は現在の日付とユーザーによって設定された日付の間の時間を取得するアンドロイド内のメソッドを検索しようとしています。たとえば、2012年6月14日などの日付を選択した場合は、私のアプリケーションでトレーニングを行い、「残り13日」などのカウントダウンを表示したい場合は2つの日付間の時間の取得。

私は現在、ユーザーから日付を取得する日付ピッカーを持っています。それを表示し、私はそれが画面の上部に表示される現在の日付をチェックしている。

ここからは、日付以降どのくらいの時間が経過しているかを示すコードが表示されていますが、必要なものに変更する方法がわかりません。

アンドロイドには、これを実行できる方法はありますか?

答えて

0

Thisリンクは、Jodaを使用してこれを行う方法を示しています。標準(欠陥のある)Java APIの代わりにJodaを使用する必要があるという回答に同意します。

+0

私はクラス内でそれを試し、日食はjoda.timeのものをインポートしたときに問題があるようです。私が答えで与えられたコードをテストしていたのをなぜ確信していないのですか? –

+0

[joda](http://joda-time.sourceforge.net/)をダウンロードし、あなたのlibフォルダにjarファイルを入れて、パスを構築する。 – Theblacknight

+0

は、Eclipseファイル内またはアプリケーション・フォルダー内のフォルダーに入れられます。 –

0

Calendarオブジェクトを使用して、すべてのフィールドを個別に比較するか、Dateを使用して比較します。

私の答えはCalendar.getTimeInMillis()です。 そして、例えば、ここでの回答を使用します。milliseconds to days日にミリ秒から取得するか、あなたはアンドロイドの時のクラスを使用することができますTimeUnit

0

を使用して:​​を、int型、int型、int型、int型、int型)

時刻オブジェクトを作成します。ユーザー指定の日付に設定します。別の時間オブジェクトを作成し、setToNow()メソッドを使用して現在の時刻に設定します。次に、toMillis()メソッドを使用して両方をmillisに変換し、現在のミリ秒から選択したミリ秒を減算すると、ミリ秒の差が得られます。そして、あなたがしなければならないことは、あなたが見せたい時間の単位に違いを変換することだけです。日数は次のようになります:差/(1000ms/s * 60s /分* 60分/時間* 24時間/日)

関連する問題