我有两个 NSDates 格式为“h:mm a”作为时间(即上午 6:00 和下午 8:00)。
我试图找出这两次之间的中点是什么时间。
对于上面的示例,上午 6:00 和晚上 8:00 之间的中点为下午 1:00。
但我不知道如何在 iPhone sdk 的 Objective-C 中做到这一点。
任何帮助或建议或代码将不胜感激。
我有两个 NSDates 格式为“h:mm a”作为时间(即上午 6:00 和下午 8:00)。
我试图找出这两次之间的中点是什么时间。
对于上面的示例,上午 6:00 和晚上 8:00 之间的中点为下午 1:00。
但我不知道如何在 iPhone sdk 的 Objective-C 中做到这一点。
任何帮助或建议或代码将不胜感激。
也许像下面这样的东西是你所追求的?
// Assuming you have two NSDate instances: start and end.
NSTimeInterval difference = [end timeIntervalSinceDate:start];
NSDate *middle = [NSDate dateWithTimeInterval:difference / 2 sinceDate:start];
有关详细信息,请参阅NSDate 类参考。
将时间转换为时间间隔,平均两个数字,然后将其转换回 NSDate 对象。
假设您的两次是 NSDate 的实例,可能如下所示:
NSTimeInterval intA = [timeA timeIntervalSince1970];
NSTimeInterval intB = [timeB timeIntervalSince1970];
NSDate *avgTime = [NSDate dateWithTimeIntervalSince1970:(intA + intB) / 2.0];