我知道这个话题有很多问题。但我没有得到适当的解决方案
问题。我正在从db中检索Date
,我将输出作为
为2012-07-13 00:00:00.0
。
我以字符串格式获取输出。我希望
中的字符串类型的结果格式MM/dd/yyyy
。我正在执行以下操作
NSString *dateStr=@"2012-07-13 00:00:00.0";
NSDateFormatter *df=[NSDateFormatter new];
[df setDateFormat:@"yyyy-MM-dd"];
NSDate *res=[df dateFromString:dateStr];
但在这里我得到的是nil
。
答案 0 :(得分:2)
您需要告诉格式化程序日期的整个格式,包括小时,分钟......
这有效:
NSString *dateStr=@"2012-07-13 00:00:00.0";
NSDateFormatter *df=[NSDateFormatter new];
[df setDateFormat:@"yyyy-MM-dd hh:mm:ss.S"];
NSDate *res=[df dateFromString:dateStr];
[df setDateFormat:@"MM/dd/yyyy"];
NSString *myString =[df stringFromDate:res];
答案 1 :(得分:0)
试试这个:
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.s"];
NSDate *aDate=[formatter dateFromString:[NSString stringWithFormat:@"%@", @"2012-07-13 00:00:00.0"]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterShortStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSLog(@"%@", [dateFormatter stringFromDate:aDate]);
答案 2 :(得分:0)
使用此
NSString *dateStr=@"2012-07-13 00:00:00.0";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss.S"];
NSDate *date = [df dateFromString: dateStr];
[df setDateFormat:@"MM/dd/yyyy"];
NSString *convertedString = [df stringFromDate:date];
NSLog(@"Your String : %@",convertedString);
<强>输出: 你的字符串:07/13/2012
答案 3 :(得分:0)
试试这个
NSString *dateStr=@"2012-07-13 00:00:00.0";
NSDateFormatter *dateFormatter=[NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss.S"];
NSDate *dateObj=[dateFormatter dateFromString:dateStr];
[dateFormatter setDateFormat:@"MM/dd/yyyy"];
NSString *myString = [dateFormatter stringFromDate:dateObj];
NSLog(@"%@",myString);