Javaは、範囲内の数週間の時間に数週間のうちに現在の日付かどうかを判断します

パブリック クラスデモ{
     公共 静的 ボイドメイン(文字列[]引数)がスローにUnsupportedEncodingExceptionを{
        Sttime文字列 = "土曜日:10時10分" ;
        Edtime文字列 = "日曜日:午後03時45" ;
        System.out.println(timeQuantum(stTime、edTime))。
    }
    
    パブリック 静的 ブール  timeQuantum(文字列stTime、列edTime){
        CALカレンダー = Calendar.getInstance(); // カレンダー得る 
        のSimpleDateFormat SDF = 新しい新しい   てSimpleDateFormat( "MM-DD-YYYY HH:MMを"); // 時間形式 
        日付nowDate = 新しい新しい A日付(); // 現在の時刻 
        のString [ ] sdfSplit = sdf.format(nowDate).split( ""); // 現在の時間の間固定日付のみ比較的時間 
        文字列[]平日= { "日曜日"、 "月曜日"、 "火曜日"、 "水曜日" "木曜日"、 "金曜日"、 "土曜日"}; // フォーマット 
        文字列[] = stTimeSplit stTime.split( ":"); // 開始時刻 
        文字列[] edTimeSplit = edTime.split( " :" );// 終了時間
        cal.setTime(nowDate);
         int型cal.get = W(Calendar.DAY_OF_WEEKの) - 1;。//は、週の1日を示しています。
        WEEKDAYS nowDateWeek =文字列[W]; // 週の現在の時間の日
         // 交換などについての開始時刻、終了時刻の場合:月曜日火曜日
        IF(getIndex(stTimeSplit [0])> getIndex(edTimeSplit [0 ])){
            文字列TEMP = stTimeSplit [0 ]。
            stTimeSplit [ 0] = edTimeSplit [0 ]。
            edTimeSplit [ 0] = TEMP。
        }
        // かの期間に、現在時刻
        IF(getIndex(nowDateWeek)> = getIndex(stTimeSplit [0])&& getIndex(nowDateWeek)<= getIndex(edTimeSplit [0 ])){
             // もし同日
            IF(stTimeSplit [0] .equals(edTimeSplit [0 ])){
                 試み{
                    日付stParse = sdf.parse(sdfSplit [0] + " "+ stTimeSplit [1] +":" + stTimeSplit [2 ])。
                    EdParse DATE = sdf.parse(sdfSplit [0] + "" + edTimeSplit + [1] ":" + edTimeSplit [2 ]);
                     // 現在の時刻は、範囲の時間内である
                    IF(nowDate.getTime()> = stParseを。 getTime()&& nowDate.getTime()<= edParse.getTime()){
                         リターン trueに
                    } {
                         戻り 
                    }
                } キャッチ(はParseException電子){
                     // TODO自動生成されたcatchブロック
                    e.printStackTrace();
                }
                // 現在の時間がこの期間内である比較 
            }  { // 同じ日にない
                 @ 週の週又は日の開始日に等しい電流週の終わりに等しい
                IF(getIndex(nowDateWeek)== getIndex(stTimeSplit [0])|| getIndex(nowDateWeek)== getIndex(edTimeSplit [0 ])){
                     試み{
                        日付stParse = sdf.parse(sdfSplit [0] + " "+ stTimeSplit [1] +":" + stTimeSplit [2 ])。
                        EdParse DATE = sdf.parse(sdfSplit [0] + "" + edTimeSplit + [1] ":" + edTimeSplit [2 ]);
                         // 週の週の開始に等しい電流
                        IF(getIndex(nowDateWeek)== getIndex(stTimeSplit [0 ])){
                             IF(nowDate.getTime()> = stParse.getTime()){
                                 リターン trueに
                            }
                            リターン はfalse ;
                        }  { // 週の週の終わりに等しい電流
                            IF(nowDate.getTime()<= edParse.getTime()){
                                 リターン trueに
                            }
                            リターン はfalse ;
                        }
                    } キャッチ(はParseException電子){
                         // TODO自動生成されたcatchブロック
                        e.printStackTrace();
                    }
                }  { // 等しくない、現在は月曜日の終わりに始め真ん中水曜日、金曜日に含まれている
                    返す trueに
                }
            }
        }
        リターン はfalse ;
    }
    パブリック 静的整数getIndex(文字列週){
        String []型WEEKDAYS = { "日曜日"、 "月曜日"、 "火曜日"、 "水曜日"、 "木曜日"、 "金曜日"、 "土曜日"}; // フォーマット 
        整数インデックス= ヌル;
         のためint型 0 = I; I <weekDays.length; I ++ ){
             IF (week.equals(WEEKDAYS [I])){
                 IF(I == 0){ // 太陽
                    リターン。インデックス= 7 
                }
                リターン・インデックスは= 私を。
            }
        }
        リターン 0 ;
    }
}

  

おすすめ

転載: www.cnblogs.com/angel-devil/p/11906658.html