パブリック クラスデモ{ 公共 静的 ボイドメイン(文字列[]引数)がスローに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 ; } }