Objective c 当从数据库获得的值为2012-07-13 00:00:00.0格式时,将日期转换为正确格式
我知道在这个话题上有很多问题。但是我没有找到一个合适的解决方案 问题。我正在从数据库中检索Objective c 当从数据库获得的值为2012-07-13 00:00:00.0格式时,将日期转换为正确格式,objective-c,cocoa-touch,nsdate,nsdateformatter,Objective C,Cocoa Touch,Nsdate,Nsdateformatter,我知道在这个话题上有很多问题。但是我没有找到一个合适的解决方案 问题。我正在从数据库中检索日期,结果如下 as2012-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 *re
日期
,结果如下
as2012-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];
但是这里我得到的res是
nil
您需要告诉格式化程序日期的整个格式,包括小时、分钟
这项工作:
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];
试试这个:
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]);
用这个
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
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);
现在我希望输出的类型为字符串,格式为MM/dd/yy。为了得到它,我应该写另一个dateformatter吗?只需更改它的格式,在获得res后立即检查我的代码我正在做NSDateFormatter*df2=[NSDateFormatter new];[df2 setDateFormat:@“MM/dd/yy”];NSString*finalVal=[df2 stringFromDate:res]。这是正确的吗?@Dharmbir Choudhary:但有时当db的输出为2013-05-16 16:29:52.072时,我再次输入nil@Raj在这种情况下,您需要更改这种类型字符串的格式。首先确定您将得到什么样的字符串格式。@Raj您知道日期字符串的最重要值是@“2012-07-13 00:00:00.0”。所以它会给出这个输出。你明白吗?但是有时候当db的输出是2013-05-16 16:29:52.072时,我又得到了零。@Raj看到这个格式[dateFormatter setDateFormat:@“yyyy-MM-dd HH:MM:ss.SSS”];这个很好用。是的,这个很好用。我使用的是“yyyy-MM-dd hh:MM:ss.SSS,因此它给出了零,在我的情况下,请将你的答案中的hh改为hh。我会接受它。我刚刚在谷歌上搜索了你的问题,看看我得到了什么,@rptwsthi:请在投票之前阅读我问题的全部内容。如果有效,那么你应该勾选这些有效答案中的任何一个!