2012-04-15 4 views
0

私はAndroidに非常に新しいです。私は次の形式私が年、月と日の形式で日付の差を見つけるために、現在の日付と、この文字列を比較したい日付がAndroidで文字列形式のものと比較するにはどうすればよいですか?

2012-08-17 00:00:00 

にサーバから文字列の形式で日付を取得しています。

私は次のコード

Date currentDate = new Date(System.currentTimeMillis()); 
Log.v("@@@@@@@@@","Current Date: " + currentDate); 
Date passDate = new SimpleDateFormat().parse(passDateString); 
Log.v("@@@@@@@@@","Pass Date: " + passDate); 
dateDifference = passDate.compareTo(currentDate); 

で遊んでみましたが、それは次の例外

04-15 12:08:29.101: V/@@@@@@@@@(1161): Current Date: Sun Apr 15 12:08:29 GMT+01:00 2012 
04-15 12:08:29.101: W/System.err(1161): java.text.ParseException: Unparseable date: 2012-08-17 00:00:00 
04-15 12:08:29.111: W/System.err(1161):  at java.text.DateFormat.parse(DateFormat.java:645) 
04-15 12:08:29.111: W/System.err(1161):  at org.apis.PassesListItemAdapter.getView(PassesListItemAdapter.java:77) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.AbsListView.obtainView(AbsListView.java:1315) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.ListView.makeAndAddView(ListView.java:1727) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.ListView.fillDown(ListView.java:652) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.ListView.fillFromTop(ListView.java:709) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.ListView.layoutChildren(ListView.java:1580) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.AbsListView.onLayout(AbsListView.java:1147) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.View.layout(View.java:7034) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:909) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.View.layout(View.java:7034) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.View.layout(View.java:7034) 
04-15 12:08:29.111: W/System.err(1161):  at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.View.layout(View.java:7034) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1049) 
04-15 12:08:29.111: W/System.err(1161):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1744) 
04-15 12:08:29.111: W/System.err(1161):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-15 12:08:29.111: W/System.err(1161):  at android.os.Looper.loop(Looper.java:144) 
04-15 12:08:29.111: W/System.err(1161):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
04-15 12:08:29.111: W/System.err(1161):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-15 12:08:29.111: W/System.err(1161):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-15 12:08:29.111: W/System.err(1161):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-15 12:08:29.111: W/System.err(1161):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-15 12:08:29.111: W/System.err(1161):  at dalvik.system.NativeStart.main(Native Method) 
+0

Javaの日付を下位にすることは、多くの議論のトピックです。組込みJavaのアプローチとJodaTimeを使用するアプローチについては、[このQ&A](http://stackoverflow.com/questions/3526485/how-do-you-subtract-dates-in-java)をお勧めします。 –

+0

あなたはそれを持っています –

+0

あなたの問題は固定されています問題はまだ解決しています –

答えて

1

あなたが解析したい日付の書式を追加で返さ:

passDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse("2012-08-17 00:00:00"); 
1
Date currentDate = new Date(System.currentTimeMillis()); 
Log.v("@@@@@@@@@","Current Date: " + currentDate); 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date passDate = dateFormat.parse(passDateString); 
Log.v("@@@@@@@@@","Pass Date: " + passDate); 
dateDifference = passDate.compareTo(currentDate); 

これを使用LINKは2つの日付の間の違いを取得するために、今現在は単に日付を比較しています。

+0

あなたのコードは機能しましたが、私が得意とする違いは正しくありません。ログ04-15 12:39:42.701:V/@@@@@@ @@@(1421):現在の日付:Sun Apr 15 12:39:42 GMT + 01:00 2012 04-15 12:39:42.701:V/@@@@@@@@(1421):合格日付:Thu Aug 23 00:00:00 GMT + 01:00 2012 04-15 12:39:42.711:V/@@@@@@@@(1421):日付の差異:1 – Nik

+0

あなたは2つを比較していますあなたはそれに応じてコードを書いていることに基づいて月/日/週/ミリ秒でdiffrenceを望みます –

+0

私はあなたを得ることができません...あなたは何を言おうとしています...私は2つの日付日と月と年。 – Nik

関連する問題