我找到了答案,但不幸的是它使用了Java。我有兩次,格式化爲HHmm(沒有冒號)。我需要弄清楚有多少15分鐘的時間段存在差異。例如,我的開始時間爲1000,結束時間爲1130(軍事時間)。如何將兩次之間的差異轉換爲小時?
當我減去兩個日期時,我得到130,這對計算沒有意義。
有沒有現成的方法可以爲我做到這一點? (我花了最後6個小時嘗試SO和Google,但什麼也沒找到)。
UPDATE:如果誰低估了我的請倒退,我將不勝感激。問題是非常有用和其他人會發現它很有用。謝謝。
我找到了答案,但不幸的是它使用了Java。我有兩次,格式化爲HHmm(沒有冒號)。我需要弄清楚有多少15分鐘的時間段存在差異。例如,我的開始時間爲1000,結束時間爲1130(軍事時間)。如何將兩次之間的差異轉換爲小時?
當我減去兩個日期時,我得到130,這對計算沒有意義。
有沒有現成的方法可以爲我做到這一點? (我花了最後6個小時嘗試SO和Google,但什麼也沒找到)。
UPDATE:如果誰低估了我的請倒退,我將不勝感激。問題是非常有用和其他人會發現它很有用。謝謝。
使用 - [NSCalendar組件:FROM日期:TODATE :options],像這樣:
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalenderUnitMinute fromDate:startDate toDate:endDate options:0];
NSInteger numberOfMinutes = [components minute];
一旦你有分鐘數,它應該只是一個15分的問題,以獲得15分鐘的塊數。
解析每次並轉換爲分鐘。所以1000變成10小時0分鐘,總計600分鐘。 1130成爲11小時30分鐘,共計690分鐘。減去兩個值的差值爲90分鐘。現在,通過15分得到6
以下假定所有時間都是4位數的軍事次:
NSString *startTime = @"1000";
NSString *endTime = @"1130";
int startMinues = [[startTime substringToIndex:2] intValue] * 60 + [[startTime substringFromIndex:2] intValue];
int endMinues = [[endTime substringToIndex:2] intValue] * 60 + [[endTime substringFromIndex:2] intValue];
int minutes = endMinutes - startMinutes;
int units = minutes/15;
這給你的15鐘座的整個單位。
Rick ......無法按照我希望的方式工作......對不起...... – SpokaneDude
嘗試使用NSDateComponents:
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDateComponents *components = [calendar components:NSMinuteCalendarUnit|NSHourCalendarUnit
fromDate:dateA
toDate:dateB
options:0];
int increments = components.hour*4 + components.minute/15;
格式很簡單:
int HHmm = [date intValue];
int HH = HHmm/100;
int mm = HHmm % 100;
DIFF,兩個解析日期:
int diff = ((HH2 * 60 + mm2) - (HH1 * 60 + mm1))/15;
簡單,完全按照我的意思......謝謝。 – SpokaneDude