• 締切済み

システム日付との比較

始めたばかりで原因がわからず困っています。 以下のコードでコメント箇所を追加すると、 コンソール日付とシステム日付が一致しても正しい結果が 得られませんでした。 よろしくお願いします。 import java.util.*; import java.io.*; public class Test { public static void main(String[] args) throws IOException { System.out.println("年月日をそれぞれ入力して下さい。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str1 = br.readLine(); String str2 = br.readLine(); String str3 = br.readLine(); int intTmp1 = Integer.parseInt(str1); int intTmp2 = Integer.parseInt(str2); int intTmp3 = Integer.parseInt(str3); Calendar myCal = Calendar.getInstance(); myCal.set(intTmp1,intTmp2-1,intTmp3); System.out.println(myCal); //*コンソールで入力した日付を表示 Calendar myToday = Calendar.getInstance(); System.out.println(myToday); //*現在日付を表示 if(myToday.equals(myCal)){ System.out.println("入力したデータは現在日付と同じ日付です。"); }else{ System.out.println("入力したデータは現在日付とは違う日付です。"); } } }

みんなの回答

  • wangxd
  • ベストアンサー率100% (2/2)
回答No.2

Calendarケラスのequals方法の意味は二対象にとって年、月、日、時、分などで同じです。

wild_liba
質問者

お礼

回答ありがとうございました。 確かに二箇所のコメントを表示しないと同じになりました。

  • ryou0607
  • ベストアンサー率27% (71/261)
回答No.1

Calenderクラスをequalsで比較してるのは初めてみましたが・・・・・hour,minute,secondなどの値が現在の方ではセットされていないからではないでしょうか。現在日付の方には入っているような。

wild_liba
質問者

お礼

回答ありがとうございました。 確かにnour,minute.second等の値が現在日付にはセット されていませんでした。

関連するQ&A

専門家に質問してみよう