我得到甚至当我把这个字符串有一个日期空日期如下图所示的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