在iPhone中与时间共事

在iPhone中与时间共事,iphone,arrays,date,time,function,Iphone,Arrays,Date,Time,Function,我有两个数组,其中的时间值是这种格式的。00:00:00,即分:秒:毫秒。有人能给我演示一下加减这些值的简单方法吗?我知道我可以,如果我打破他们,但我正在寻找一种方法来做到这一点,没有任何的代码。我可以得到我想要使用的最后一个值,比如[myArray lastObject],我尝试了[[myArray1 lastObject]日期]-[myArray2 lastObject]日期,但你知道这不起作用。任何帮助都将不胜感激。您应该使用NSDate、NDateComponents和NSCalenda

我有两个数组,其中的时间值是这种格式的。00:00:00,即分:秒:毫秒。有人能给我演示一下加减这些值的简单方法吗?我知道我可以,如果我打破他们,但我正在寻找一种方法来做到这一点,没有任何的代码。我可以得到我想要使用的最后一个值,比如[myArray lastObject],我尝试了[[myArray1 lastObject]日期]-[myArray2 lastObject]日期,但你知道这不起作用。任何帮助都将不胜感激。

您应该使用
NSDate
NDateComponents
NSCalendar
。学习,其中有一个完整的部分介绍如何进行基于日历的计算,如添加小时或减去天。

您应该使用
NSDate
NDateComponents
NSCalendar
。学习,它有一个完整的部分是关于做基于日历的计算,比如加小时或减天。

我假设你每次都有3个值,比如:

struct TimePoint {
  int minutes;
  int seconds;
  int milliseconds;
};
如果是这样的话,下面是一些计算差异的代码:

// input is struct TimePoint t1, t2.
NSTimeInterval time1 = 60 * t1.minutes + t1.seconds + 0.001 * t1.milliseconds;
NSTimeInterval time2 = 60 * t2.minutes + t2.seconds + 0.001 * t2.milliseconds;
NSTimeInterval timeDifference = time1 - time2;
听起来您也在考虑使用
NSDate
对象。如果您想这样做-假设您想查看从
NSDate*date1
NSDate*date2
经过了多少时间-那么您可以使用以下方法():


我假设每次都有3个值,比如:

struct TimePoint {
  int minutes;
  int seconds;
  int milliseconds;
};
如果是这样的话,下面是一些计算差异的代码:

// input is struct TimePoint t1, t2.
NSTimeInterval time1 = 60 * t1.minutes + t1.seconds + 0.001 * t1.milliseconds;
NSTimeInterval time2 = 60 * t2.minutes + t2.seconds + 0.001 * t2.milliseconds;
NSTimeInterval timeDifference = time1 - time2;
听起来您也在考虑使用
NSDate
对象。如果您想这样做-假设您想查看从
NSDate*date1
NSDate*date2
经过了多少时间-那么您可以使用以下方法():