Ios NSDateFormatter dateFromString返回null
我想从NSString获取NSDate。我的代码:Ios NSDateFormatter dateFromString返回null,ios,objective-c,nsdateformatter,Ios,Objective C,Nsdateformatter,我想从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 (nul
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)
我的日期格式有什么问题?谢谢。我试过你的问题了
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);
我得到的结果是
我试过你的问题
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);
我得到的结果是
使用下面的代码
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSString *date_time = [dateFormatter stringFromDate:[NSDate date]];
希望这是有用的使用下面的代码
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSString *date_time = [dateFormatter stringFromDate:[NSDate date]];
希望这是有用的试试这段代码
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];
试试这个代码
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];
您还可以使用“我的代码”从NSString获取NSDate,以获得您想要的任何格式 下面是我的代码:
- (NSDate *)dateFromString:(NSString *)stringDate withFormat:(NSString *)format {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = format;
NSDate *dateFromString = [formatter dateFromString:stringDate];
return dateFromString; }
您还可以使用“我的代码”从NSString获取NSDate,以获得您想要的任何格式 下面是我的代码:
- (NSDate *)dateFromString:(NSString *)stringDate withFormat:(NSString *)format {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = format;
NSDate *dateFromString = [formatter dateFromString:stringDate];
return dateFromString; }
你的代码是正确的。 如果设备设置为AM/PM时间,并且请求的字符串格式设置为@“yyyy MM dd HH:MM:ss”,则dateFromString将返回零。尝试将区域设置设置为:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
你的代码是正确的。 如果设备设置为AM/PM时间,并且请求的字符串格式设置为@“yyyy MM dd HH:MM:ss”,则dateFromString将返回零。尝试将区域设置设置为:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
你确定
05-05
是MM dd
还是dd MM
嗨,这个代码没有任何问题,我正在获取NSDate的对象。我获取日期:2016-05-11 17:20:06.498 StackLearn[11440:173878]日期2016-05-05 03:59:31+0000我认为代码中没有任何错误。它不应该返回null!!!!你确定05-05
是MM dd
还是dd MM
嗨,这个代码没有任何问题,我正在获取NSDate的对象。我获取日期:2016-05-11 17:20:06.498 StackLearn[11440:173878]日期2016-05-05 03:59:31+0000我认为代码中没有任何错误。它不应该返回null!!!!就是这样!谢谢大家!@尤金尼科夫-太棒了!!就是这样!谢谢大家!@尤金尼科夫-太棒了!!与输入不匹配的格式是我的问题。我首先将格式化程序的格式设置为与预期输入相匹配,创建日期,然后将格式化程序的格式更改为所需的输出,并调用[dateFormatter stringFromDate:dateString]解决了这个问题。与输入不匹配的格式是我的问题。我首先将格式化程序的格式设置为与预期输入匹配,创建日期,然后将格式化程序的格式更改为所需的输出,并调用[dateFormatter stringFromDate:dateString]