เมื่อประมวลผลข้อมูลการตรวจสอบแบบเรียลไทม์ คุณต้องระบุข้อมูลกะปัจจุบัน {กะกลางคืนใหญ่ กะกลางคืนเล็ก กะกลางคืนใหญ่} ข้อมูลกะจะถูกตั้งค่าตามช่วงเวลาที่กำหนด คล้ายกับ {{"8 :00", "16:00"} ,{"16:00","00:00" ตาราง00:00","8:00"}}
สารละลาย
· เปรียบเทียบเวลาปัจจุบัน เวลาเริ่มต้นและเวลาสิ้นสุดของการยืนยัน Conversion
รหัสที่เกี่ยวข้อง
ดู plaincopy ไปที่ clipboardprint หรือไม่
-
* การทดสอบช่วงเวลา
* @ผู้เขียน WangYanCheng
* @เวอร์ชั่น 2009-11-20
-
คลาสสาธารณะ CalendarTimeSubsectionTest {
-
* ทางเข้าทดสอบ
* รายการอาร์กิวเมนต์ @param args
-
โมฆะคงที่สาธารณะ main (String [] args) {
CalendarTimeSubsectionTest ctstObj = ใหม่ CalendarTimeSubsectionTest();
int resultFlag = ctstObj.doGetShift("");
System.out.println (resultFlag);
-
-
* ตรวจสอบว่าช่วงเวลาหนึ่งอยู่ในช่วงระยะเวลาหนึ่งหรือไม่
* @param currTime ในช่วงเวลาหนึ่ง
* @param timeSlot ในช่วงเวลาหนึ่ง
* @return จริง/เท็จ
-
isShift บูลีนสาธารณะ (currTime ยาวสุดท้าย, สตริง [] timeSlot) {
ปฏิทิน tempCalendar = Calendar.getInstance();
tempCalendar.setTimeInMillis(currTime);
สตริง[] tmpArray = timeSlot[0].split(″);
startTime ยาว, stopTime;
tempCalendar.clear(ปฏิทินชั่วโมง_OF_DAY);
tempCalendar.clear(ปฏิทินนาที);
tempCalendar.set(ปฏิทิน.HOUR_OF_DAY, Integer.parseInt(tmpArray[0]));
tempCalendar.set(Calendar.MINUTE, Integer.parseInt(tmpArray[1]));
startTime = tempCalendar.getTimeInMillis();
tmpArray = timeSlot[1].split(///);
int stopHour = Integer.parseInt(tmpArray[0]), stopMinute = Integer.parseInt(tmpArray[1]);
ถ้า (หยุดชั่วโมง == 0) {
tempCalendar.add(ปฏิทิน.DAY_OF_MONTH, 1);
-
tempCalendar.clear(ปฏิทินชั่วโมง_OF_DAY);
tempCalendar.clear(ปฏิทินนาที);
tempCalendar.set(ปฏิทิน.HOUR_OF_DAY, หยุดชั่วโมง);
tempCalendar.set(Calendar.MINUTE, stopMinute);
stopTime = tempCalendar.getTimeInMillis();
กลับ ((startTime < currTime && currTime <= stopTime) ? true : false);
-
-
*การคำนวณกะ
* สังกัด @param orgCode
* @return ผลลัพธ์ {1:คืนใหญ่;2:กะวัน;3:คืนเล็ก;4:กะกลางคืน;0:การรักษาพิเศษ}
-
int สาธารณะ doGetShift (สตริง orgCode) {
ผลลัพธ์ int = 0;
ปฏิทิน currCalen = Calendar.getInstance();
currTime ยาว = currCalen.getTimeInMillis();
ถ้า (isShift (currTime, timeSubsection[2])) {
ผลลัพธ์ = 1;
} อื่นถ้า (isShift (currTime, timeSubsection[0])) {
ผลลัพธ์ = 2;
} อื่นถ้า (isShift (currTime, timeSubsection[1])) {
ผลลัพธ์ = 3;
-
ส่งคืนผลลัพธ์;
-
//ช่วงเวลา 0: กะกลางวัน 1: กะกลางคืนเล็ก 2: กะกลางคืนใหญ่*/
สตริงคงที่ส่วนตัว [] [] timeSubsection = {{"8:00", "16:00"}, {"16:00", "00:00"}, {"00:00", "08:00" }};
-
* การจัดรูปแบบวันที่
* อินสแตนซ์วันที่ @param calenObj
* @param formatStr สตริงรูปแบบ
* รูปแบบผลลัพธ์ @return สตริงที่เสร็จสมบูรณ์
-
สตริงสาธารณะ doParseDate (ปฏิทิน calenObj, สตริง formatStr) {
DateFormat df = SimpleDateFormat ใหม่ (formatStr);
ผลลัพธ์สตริง = null;
ผลลัพธ์ = df.format(calenObj.getTime());
ส่งคืนผลลัพธ์;
-