ตรรกะในการค้นหาวันสุดท้ายโดยพิจารณาเฉพาะวันที่เลือกเท่านั้นที่จะนับในวันธรรมดาคืออะไร

สมมติว่างานบางอย่างสามารถทำได้เฉพาะวันจันทร์ วันพุธ วันเสาร์ และวันอาทิตย์ (4 วันต่อสัปดาห์)

ถ้าฉันเพิ่มงานในวันที่ เช่น 3 พฤศจิกายน วันอังคาร และบอกว่าฉันจะทำงานให้เสร็จภายใน 8 วัน เมื่อพิจารณาถึงวันเริ่มต้นงานคือวันอังคาร และวันจันทร์ผ่านไปแล้ว สัปดาห์นี้ฉันเหลือเวลาเพียงสามวัน ตรรกะที่จะค้นหาวันและวันที่นั้นหลังจากผ่านไป 8 วัน (ในวันที่งานเสร็จ) จะเป็นอย่างไร

ฉันต้องการตรรกะนี้สำหรับรหัส Objective C


person Alok    schedule 03.11.2015    source แหล่งที่มา


คำตอบ (2)


ตามความเข้าใจในความต้องการของคุณ ฉันจึงเขียนโค้ดบางส่วนใน PlayGround อย่างรวดเร็ว มันอาจช่วยคุณได้ (คุณเพียงแค่ต้องแปลงเป็น Objective-C)

let df = NSDateFormatter()
df.dateFormat = "dd-MM-yyyy"

let dateToCheck = df.dateFromString("8-11-2015")
let comp = NSCalendar.currentCalendar().components(NSCalendarUnit.Weekday, fromDate: dateToCheck!)

// Monday == 2 , Wednesday == 4, Saturday = 7 and Sunday = 1

switch(comp.weekday) {
case 2,3:
    print("3  Day Left")
case 4,5,6:
    print("2  Day Left")
case 7:
    print("1 Day Left")
case 1:
    print("Last Day Left")
default:
    print("")
}

ฉันเพิ่งใช้องค์ประกอบวันธรรมดาของวันที่

person Shardul    schedule 03.11.2015

สวัสดี ฉันแปลงโค้ดด้านบนเป็น Objective-C

NSDateFormatter *df = [[NSDateFormatter alloc]init];
df.dateFormat = @"dd-MM-yyyy";
NSDate *dateToCheck = [df dateFromString:@"8-11-2015"];
NSDateComponents *comp = [[NSCalendar currentCalendar]components:NSCalendarUnitWeekday fromDate:dateToCheck];

// Monday == 2 , Wednesday == 4, Saturday = 7 and Sunday = 8

if (comp.weekday == 2 || comp.weekday == 3) {
    NSLog(@"3  Day Left");

}else if (comp.weekday == 4 || comp.weekday == 5 || comp.weekday == 6){
    NSLog(@"2  Day Left");

}else if (comp.weekday == 7 || comp.weekday == 1){
    NSLog(@"1  Day Left");

}else if (comp.weekday == 1 ){
    NSLog(@"Last Day Left");

}
person Mohammad Sadiq Shaikh    schedule 03.11.2015