使用“[df setDateFormat:@”yyyy-MM-dd HH:mm:ss“]时,在iOS9中获得nil日期这种格式

时间:2015-10-19 04:48:46

标签: 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中给出nil日期请帮忙。谢谢。

3 个答案:

答案 0 :(得分:0)

你可以试试这个。这解决了我的问题。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];

答案 1 :(得分:-1)

首先,你写错了。为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虽然相同。

答案 2 :(得分:-1)

如果您的SelectedDate与日期格式化程序中的日期格式不完全一致,则结果为nil。看来这是你的问题。