• 締切済み

システム日付との比較

始めたばかりで原因がわからず困っています。 以下のコードでコメント箇所を追加すると、 コンソール日付とシステム日付が一致しても正しい結果が 得られませんでした。 よろしくお願いします。 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のポイント
  • 数日前までは印刷・スキャンともに問題なかったが、突然スキャンだけできなくなった。同じネットワーク上の別のパソコンではスキャンができるため、本機種の問題と考えられる。
  • ドライバーのアンインストールと再インストールを試みたが、完了できない状態が続いている。
  • パソコン側からプリンタの追加で複合機を認識させると、スキャンの診断テストは合格するが、実際のスキャンを選択するとパソコンが見つからないと表示される。
回答を見る

専門家に質問してみよう