2017-02-16 41 views
-1

と仮定の数を探す:2つの与えられた日付の間の日数

1bhkフラット200rupeeのメンテナンス

2BHKフラット400rupeeのメンテナンス料

と仮定1 BHKユーザーが指定した日付の金額を支払います。

ただし、ユーザーが指定された日付に金額を支払っていない場合は、自動的に基本金額に20%の追加料金が加算されます。

Objective Cではこれを実装できますか?

+3

その簡単な数学は、あなたは任意の言語で行うことができます。 –

答えて

0

とてもシンプルです。次のコードは1BHKユーザーのために動作します。

float oneBHKCharge=200; 

float finalDue=0; 

NSString *strDueDate = @"10-02-2017"; 
NSString *strPaidDate = @"10-02-2017"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"dd-MM-yyyy"]; 
NSDate *dueDate = [dateFormatter dateFromString:strDueDate]; 
NSDate *paidDate = [dateFormatter dateFromString:strPaidDate]; 


NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian]; 
NSDateComponents *components = [gregorianCalendar components:NSCalendarUnitDay 
                fromDate:dueDate 
                 toDate:paidDate 
                options:0]; 


if (components.day > 0) 
{ 
    finalDue = oneBHKCharge + oneBHKCharge*0.2; 
} 
else 
{ 
    finalDue = oneBHKCharge; 
} 

NSLog(@"%f",finalDue); 
0

ここでコードは私がこのトピックを解決しました。私はNSUserdefaultsに期限が過ぎている日数を保存しました。ここにチェックしました

- (NSNumber *)invoiceOverDue 
{ 
    NSNumber *result; 
    NSInteger dueDays = [[NSUserDefaults standardUserDefaults] integerForKey:VPPayDue]; 
    if ([[self dueTime] intValue] > dueDays) 
    { 
    result = [NSNumber numberWithBool:YES]; 
    } 

    else { 
    result = [NSNumber numberWithBool:NO]; 
    } 
    return result; 
} 

ここで魔女の部分は、延滞時間を計算します。

// DueTime calculation 
-(NSNumber *)dueTime 
{ 
// NSTimeInterval secondsPerDay = 24 * 60 * 60; 
if ([[self invoiceStatus] intValue] > 1) 
{ 
    return [NSNumber numberWithInt:0]; 
} 

else { 
    NSTimeInterval calculateTime = [[* Insert here the date of your invoice*] timeIntervalSinceNow]; 
    //DLog(@"dueTime bevor/86400 :%f", calculateTime); 
    calculateTime /= -86400; 
    //DLog(@"dueTime :%f", calculateTime); 
    int returnInt = [ConverterHelper numberRoundUp:calculateTime]; 

    return [NSNumber numberWithInt:returnInt]; 
} 

}

関連する問題