我得到甚至當我把這個字符串有一個日期空日期如下圖所示的NSDate轉換的問題: -當輸入的NSDate格式是未知的,獨立的日期和時間
通用輸入日期格式爲「MM/DD/YYYY HH:MM一個」
的NSString輸入日期可以是下列之一: 「2012年12月1日」, 「2012年12月1日上午01時43分」, 「上午01時43分」
我想要的預期輸出是,如果輸入字符串中存在輸出字符串,則必須輸出日期,如果輸入字符串中存在時間,則必須輸出時間。
輸入: -
[self testDate:@"12/1/2012"]
代碼: -
-(void) testDate:(NSString*) str{
NSDateFormatter *formatter=[[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy hh:mm a"];//My Generic Date Format
self.dateTest=[formatter dateFromString:str];
[self printDate:self.dateTest];
}
-(void) printSeparatedDateAndTime:(NSDate*) date{
NSDateFormatter *dateF=[[NSDateFormatter alloc] init];
[dateF setDateFormat:@"MM/dd/yyyy"];
NSString *dateStr=[dateF stringFromDate:date];
NSLog(@"Date= %@",dateStr);
[dateF setDateFormat:@"hh:mm a"];
NSString *timeStr=[dateF stringFromDate:date];
NSLog(@"Time= %@",timeStr);
}
輸出日期: -
日期=(空)
時間=(空)
輸入可以是任何格式,例如, X
輸入
「2012年12月1日」
輸出 日期= 「2012年12月1日」 時間=空
輸入 「2012年12月1日01:43 am「
output date =」12/1/2012「 time = 01:43 am
輸入 「上午01點43分」
輸出 日期=空 時間= 「上午01點43分」
人們可以得到不同的答案在這裏Objective-C String(yyyy-mm-dd) to NSDate。如果日期格式設置錯誤,這指的是答案。
在我的情況下日期格式是正確的。但它可能只有日期,只有時間或兩者。 要從字符串中分離日期和時間,可以參考ios4 - splitting a date and time from a string into two separate strings,但它沒有檢查答案或有效答案。
in this [self printDate:date];什麼是約會? – Balu 2013-04-22 12:46:04
如果您只發送日期,則不需要'hh:mm a',否則在日期字符串中發送時間。 – nsgulliver 2013-04-22 12:50:54
在問題輸入字符串中編輯的@nsgulliver可以包含日期,時間或兩者。 – andyPaul 2013-04-24 16:50:45