NSDateFormatter dateFromString return 空
NSDateFormatter dateFromString return null
我想从 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)
我的日期格式有什么问题?谢谢。
我试过你的问题
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]];
希望这有用
试试这个代码
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; }
您的代码是正确的。
如果设备设置为 AM/PM 时间并且请求的字符串格式设置为 @"yyyy-MM-dd HH:mm:ss" dateFromString 将 return nil。尝试将区域设置设置为:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
我想从 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)
我的日期格式有什么问题?谢谢。
我试过你的问题
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]];
希望这有用
试试这个代码
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; }
您的代码是正确的。
如果设备设置为 AM/PM 时间并且请求的字符串格式设置为 @"yyyy-MM-dd HH:mm:ss" dateFromString 将 return nil。尝试将区域设置设置为:
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];