と仮定の数を探す:2つの与えられた日付の間の日数
1bhkフラット200rupeeのメンテナンス
2BHKフラット400rupeeのメンテナンス料
と仮定1 BHKユーザーが指定した日付の金額を支払います。
ただし、ユーザーが指定された日付に金額を支払っていない場合は、自動的に基本金額に20%の追加料金が加算されます。
Objective Cではこれを実装できますか?
と仮定の数を探す:2つの与えられた日付の間の日数
1bhkフラット200rupeeのメンテナンス
2BHKフラット400rupeeのメンテナンス料
と仮定1 BHKユーザーが指定した日付の金額を支払います。
ただし、ユーザーが指定された日付に金額を支払っていない場合は、自動的に基本金額に20%の追加料金が加算されます。
Objective Cではこれを実装できますか?
とてもシンプルです。次のコードは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);
ここでコードは私がこのトピックを解決しました。私は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];
}
}
その簡単な数学は、あなたは任意の言語で行うことができます。 –