
質問です。
開始時刻 09:00:00
終了時刻 22:00:00
という前提で、
現在時刻を
String nowtime =
DateFormat.getTimeInstance(DateFormat.MEDIUM).format(now);
//hh:mm:ssという形式で取得し、
現在時刻が9:00:00から22:00:00
までならば、有効時間帯で、それ以外は、無効としようとしています。
if(9:00:00~22:00:00){
System.out.println("有効時間帯");
return true;
}
return false;
そこで、if文内の判定方法なのですが、
良い方法がありましたら、
お教え願えませんでしょうか?
よろしくお願いします。
No.3
- 回答日時:
CalendarクラスのAPIリファレンスを見てください。
(DateクラスのAPIリファレンスにも、Calendarを使うように書いてますよね?)
サンプル:
----------
Calendar cal = Calendar.getInstance();
Date now = cal.getTime();
cal.set(Calendar.HOUR_OF_DAY, 9);
cal.set(Calendar.MINUTE, 0);
cal.set(Calendar.SECOND, 0);
Date start = cal.getTime();
cal.set(Calendar.HOUR_OF_DAY, 22);
Date end = cal.getTime();
System.out.println("now :" + now);
System.out.println("start:" + start);
System.out.println("end :" + end);
//nowはstartより後で、endより前かどうかをチェック
System.out.println("start < now < end: " + (now.after(start) && now.before(end)));
正直、文字列比較の方が楽ですね。。。
No.2
- 回答日時:
文字列で時間の大小比較をせずに、DateやCalendarオブジェクトで
比較したらよいと思います。
例:
現在日付の09:00:00のDateオブジェクトを取得
チェックしたい日付時刻(現在時刻?)のDateオブジェクトを取得
現在日付の22:00:00のDateオブジェクトを取得
この3つについて、Date#after, Date#beforeメソッドを使えば、
日付の前後関係が分かる。
また、文字列で比較したいとしたら、"9:00:00"ではなく、"09:00:00"
といった形式で作成して、String#compareToで辞書的に比較しても
できると思います。
この回答への補足
すみません。JavaのAPIを見たのですが,良くわかりません。
具体的に
>現在日付の09:00:00のDateオブジェクトを取得
>チェックしたい日付時刻(現在時刻?)のDateオブジェクトを取得
>現在日付の22:00:00のDateオブジェクトを取得
というのは、どうやるのでしょうか?
すみませんが、おしえてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Excel(エクセル) 出退勤管理の遅刻・早退時間について 3 2023/08/10 15:33
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- その他(教育・科学・学問) エクセル関数について 2 2022/12/23 08:59
- Visual Basic(VBA) 【再々投稿】VBAのプログラムで動作しなくて困っています 8 2022/10/14 09:06
- ルーター・ネットワーク機器 Linkstation のスリープタイマー設定方法がわかりにくい 1 2023/01/07 13:34
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBAにて動的にCheckBOXを...
-
VBAのWindowオブジェクトとWork...
-
Strutsのbeanタグについて
-
パワーポイントのVBAでテキスト...
-
VBA 同じ名前のオブジェクトを...
-
Excelで =EMBED("Acrobat Docu...
-
多人数のじゃんけんプログラム
-
C#でフォームのオブジェクト名...
-
非アクティブの状態で表示され...
-
VBA 過去のファイル内の同じオ...
-
オブジェクトを枠線に合わせる...
-
オブジェクトレベルとメタレベル
-
3Dの背景とはどういう作り方を...
-
C++でのクラスオブジェクトの破棄
-
CoCreateInstanceでエラーになる。
-
COMコンポーネントって何?
-
三角形オブジェクト
-
error C2712: オブジェクト ア...
-
Power Pointのページ設定について
-
ビジュアルC++でボタンの有...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
パワーポイントのVBAでテキスト...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBA 同じ名前のオブジェクトを...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
ビジュアルC++でボタンの有...
-
COMコンポーネントって何?
-
CoCreateInstanceでエラーになる。
-
ワイルドカード<?>と型パラメー...
-
戻り値がクラスオブジェクト
-
error C2712: オブジェクト ア...
-
Vbで通常使用するプリンターを...
-
質問すいません。 javascriptの...
-
Object型からDouble型へのキャスト
-
Accessの連結・非連結オブジェ...
-
オブジェクトレベルとメタレベル
-
C++でのクラスオブジェクトの破棄
-
時間帯判定をする。
-
VBAでvlookup関数から、別シー...
おすすめ情報