使用“时在iOS9中获取零日期”;[df setDateFormat:“yyyy-MM-dd HH:MM:ss”]&引用;此格式
这是我的密码:使用“时在iOS9中获取零日期”;[df setDateFormat:“yyyy-MM-dd HH:MM:ss”]&引用;此格式,ios,nsdate,ios9,nsdateformatter,Ios,Nsdate,Ios9,Nsdateformatter,这是我的密码: NSDate *currentdate = [[NSDate alloc] init]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSDate *selectedDate = [df dateFromString:SelectedDate]; 这在iOS8中给出了正确的日期,但在iOS9中给出了nildate,请提供帮助。谢谢
NSDate *currentdate = [[NSDate alloc] init];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *selectedDate = [df dateFromString:SelectedDate];
这在iOS8中给出了正确的日期,但在iOS9中给出了
nil
date,请提供帮助。谢谢。首先,你写错了。为NSDate和NSString赋予相同的名称。试试这个代码,会有用的
NSDate *currentdate = [[NSDate alloc] init];
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *selectedDate = [df stringFromDate:currentdate];
NSDate *newDate = [df dateFromString:selectedDate];
但是,newDate和currentdate将是相同的。如果您选择的日期与日期格式化程序中的日期格式不完全一致,则结果将是
nil
。看来这是你的问题。你可以试试这个。这解决了我的问题
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
SelectedDate
的值是多少?将格式化程序的区域设置为en_US\u POSIX
的特殊区域设置。NSDateFormatter*df=[[NSDateFormatter alloc]init];[df setDateFormat:@“yyyy-MM-dd HH:MM:ss”];NSDate*selectedDate=[df dateFromString:@“2015-04-02 10:12:12”];它在iOS 9中运行良好!en_US_POSIX有什么用?我使用的是en_GB。您尝试的“SelectedDate”值是多少?这是一个注释,不是答案。在OP提供更多信息之前,不会有答案。