Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何确定从现在到现在的天数&;90天后?_Iphone_Ios_Ios4_Ios5 - Fatal编程技术网

Iphone 如何确定从现在到现在的天数&;90天后?

Iphone 如何确定从现在到现在的天数&;90天后?,iphone,ios,ios4,ios5,Iphone,Ios,Ios4,Ios5,作为一个新手,我已经查看了Stackoverflow关于这个问题的内容,没有找到一个与我正在寻找的类似的例子。许多例子都涉及闰年/秒。我不。我只需要一个介于0和90之间的数字。我不关心半天等等。示例:1月1日2012@23591月2日2012@0001在我的柜台里待了一整天 我需要的是设定一个日期,随着时间的推移,倒计时显示“originalDate+90-今天的日期”。一旦'originalDate+90-今天的日期'=0,从那时起只显示0 我该怎么做 谢谢。有些事情需要研究: NSDate有

作为一个新手,我已经查看了Stackoverflow关于这个问题的内容,没有找到一个与我正在寻找的类似的例子。许多例子都涉及闰年/秒。我不。我只需要一个介于0和90之间的数字。我不关心半天等等。示例:1月1日2012@23591月2日2012@0001在我的柜台里待了一整天

我需要的是设定一个日期,随着时间的推移,倒计时显示“originalDate+90-今天的日期”。一旦'originalDate+90-今天的日期'=0,从那时起只显示0

我该怎么做


谢谢。

有些事情需要研究:

NSDate有一个名为TimeIntervalnceDate的方法。使用此选项可获得接收器与给定日期之间的秒数

使用NSDateComponents设置“从现在开始的90天”,这样您就可以配置秒数以及所有这些。苹果的文档对此进行了详细的描述

您将采取的基本步骤:

  • 将“now”存储为NSDate对象
  • 从现在起90天内创建NSDate对象
  • 比较两者,根据需要将结果存储在NSInteger或double中
  • 用这个结果做点什么。(例如,检查其是否大于零。)

首先从开始日期获取结束日期

NSTimeInterval ninetyDays = 90*24*60;
NSDate endDate = [NSDate dateWithTimeInterval:ninetyDays sinceDate:originalDate];
然后删除NSDate对象的“时间”(小时、分钟、秒)部分:

NSDate *currentDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:&currentDateInDaysPrecision
             interval:NULL forDate:[NSDate date]];

NSDate *endDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:&endDateInDaysPrecision
             interval:NULL forDate:endDate];
现在,您可以使用它来计算天数差异:

    // calculate the difference in days
NSDateComponents *difference = [calendar components:NSDayCalendarUnit
                                           fromDate:currentDateInDaysPrecision
                                             toDate:endDateInDaysPrecision
                                            options:0];
NSInteger differenceInDays = [difference day];
这应该可以做到

编辑:


我从

中学到了这一点,你可以参考-,这里也只计算天数。你让我朝着正确的方向思考&我发现了-谢谢你的推动!NSDate*expireDate=[[NSUserDefaults standardUserDefaults]objectForKey:@“expireDate”];如果(expireDate==nil){expireDate=[NSDate日期];}NSDate*now=[NSDate日期];NSInteger count=[现在日期之前:过期日期];如果(计算)