2016-05-04 8 views
0

if文の一部としてそれらを使用するために、2回(LocalTime形式で)比較しようとしています。私はいくつかの研究を行ってきましたが、私は時間をかけずに日付を使って見つけることができました。システム時刻と時刻を次のコードで比較しようとしています。JodaTimeを使用して日付なしで時間を比較する

import org.joda.time.*; 
import org.joda.time.format.DateTimeFormat; 
import org.joda.time.format.DateTimeFormatter; 
import org.joda.time.LocalDate; 

LocalTime startTime2; 
LocalTime airTime2; 
LocalTime foamTime2; 
LocalTime scTime22; 


firstTime = airTime2; 
secondTime = localTime; 
return firstTime.compareTo(secondTime); 

大きな値を返すはずです。 toLocalTimeはJodaTimeでサポートされていないようですが、代替手段は誰にでも分かりますか?
私はからコードを適応していた:(JodaTime 2.9.1)非常に簡単に動作するようです

LocalDate firstDate = date1.toLocalDate(); 
LocalDate secondDate = date2.toLocalDate(); 
return firstDate.compareTo(secondDate); 
+0

あなたはクラス 'org.joda.time.DateTimeについて話すと仮定すると、 'あなたが見ることができる方法[toLocalTime](http://www.joda.org/joda-time/apidocs/org/joda/time/DateTime.html#toLocalTime--)はバージョンv1.3以来存在しています古い。そして、クラス 'LocalDateTime'も同様のメソッドを持っています。それとも別のクラスについて話していますか? –

+0

@MenoHochschild toLocalTimeメソッドを使用しているときに、「シンボルSymbol:method toLocalTime()、LocalTime型の位置変数airTime2を見つけることができません。 – Will

+0

jodaクラス 'org.joda.time.LocalTime'にはメソッドがありません'toLocalTime()'。これは既に 'LocalTime'なので、それ自身に変換する必要はありません。あなたはAPIを見ればかなり明確です。 )関連するimport文とb) 'date1'や' airTime2'のようなあなたの変数の初期化コード –

答えて

1

import org.joda.time.LocalTime; 

LocalTime earlier = new LocalTime("23:00:00"); 
LocalTime later = new LocalTime("23:12:34"); 

System.out.println(earlier.compareTo(later)); // -1 
System.out.println(later.compareTo(earlier)); // 1 
System.out.println(earlier.compareTo(earlier)); // 0 
関連する問題