我想从NSString获取NSDate。我的代码:
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2016-05-05 09:29:31"];
NSLog(@"date %@",date);
我在控制台看到了:
date (null)
我的日期格式有什么问题?谢谢。
答案 0 :(得分:4)
您的代码是正确的。
如果设备设置为AM / PM时间并且请求的字符串格式设置为@" yyyy-MM-dd HH:mm:ss" dateFromString将返回nil。尝试设置区域设置,如:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
答案 1 :(得分:2)
你也可以使用我的代码从NSString获取你想要的任何格式的NSDate。
以下是我的代码:
- (NSDate *)dateFromString:(NSString *)stringDate withFormat:(NSString *)format {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = format;
NSDate *dateFromString = [formatter dateFromString:stringDate];
return dateFromString; }
答案 2 :(得分:1)
我试过了你的问题
NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:@"2016-05-05 09:29:31"];
NSLog(@"newDate : %@",date);
我得到了像
这样的输出答案 3 :(得分:0)
使用以下代码..
ng-click
希望这很有用
答案 4 :(得分:0)
试试这段代码
NSString *dateString = @"05-05-2016 09:29:31";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// if format doesn't match you'll get nil from your string, so be careful
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:dateString];