[英]How to parse a date string with Objective-C
我如何解析具有此表單“2011052620110529”的 NSString 以將每個值作為 NSString 獲取? 我試着寫這個
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyyMMddyyyyMMdd"];
但我不認為這是正確的......請幫助我
(我在這里假設您的意思是“將其解析為日期”,而不是“將其解析為兩個字符串。”您的問題不清楚。)
該字符串不代表一個有效的時刻; 相反,它代表(大概)一個時間范圍。
在解析兩個日期之前,您必須將字符串分成兩部分,然后獲取它們之間的間隔。 假設每個組件總是 8 個字符長:
NSString *strComplete = ...;
NSString *strFirstDate = [strComplete substringToIndex: 8];
NSString *strSecondDate = [strComplete substringFromIndex: 8];
NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
[formatter setDateFormat:@"yyyyMMdd"];
NSDate *firstDate = [formatter dateFromString: strFirstDate];
NSDate *secondDate = [formatter dateFromString: strSecondDate];
NSTimeInterval timeInterval = [secondDate timeIntervalSinceDate: firstDate];
你想解析數字還是什么? 你的句子被聽到閱讀..
看看NSString 的 class 參考,它很容易在更多部分中分解字符串。
[yourString subStringWithRange:NSMakeRange(location,length)];
您的 NSString 值包含 2 個日期,而不是一個。 因此,您將無法使用NSDateFormatter
一步解析它。 您需要先提取前 8 個字符,然后提取后 8 個字符,分別使用[s substringWithRange:NSMakeRange(0,8)]
和[s substringWithRange:NSMakeRange(8,8)]
類的東西來分別解析每個日期。 然后,您可以使用“yyyyMMdd”之類的格式將這些子字符串傳遞給日期格式化程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.