【问题标题】:Find number of days between two given dates [duplicate]查找两个给定日期之间的天数[重复]
【发布时间】:2017-07-05 10:28:01
【问题描述】:

假设:

1bhk 平 200 卢比维护

2bhk 固定 400 卢比维护费

假设 1 bhk 用户在给定日期支付了金额。

但如果用户没有在给定日期支付金额,则会在基本金额的基础上自动添加 20% 的额外费用。

是否可以在 Objective C 中实现这一点?

【问题讨论】:

  • 其简单的数学运算可以用任何语言完成。

标签: objective-c


【解决方案1】:

这很简单,兄弟。以下代码适用于 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);

【讨论】:

    【解决方案2】:

    这里是我解决这个话题的代码。我将过期的天数存储在 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];
    }
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2012-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多