从字符串转换时 NSDate 返回 nil
NSDate returning nil when converting from string
我正在尝试从日期字符串中获取一天中的时间。下面的字符串应该 return 12:00AM.
2010-08-24 00:00:00 +0000
但是使用下面的代码,我的 NSDate 对象 return 在到达日志语句时为 nil。这里的问题是什么?谢谢!
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"h:mma"];
NSDate *date = [df dateFromString:@"2010-08-24 00:00:00 +0000"];
NSLog(@"DATE: %@", [date description]);
输出:日期:(空)
试试这个:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"YYYY-MM-dd hh:mm:ss ZZZZ"];
NSDate *date = [df dateFromString:@"2010-08-24 00:00:00 +0000"];
NSLog(@"DATE: %@", [date description]);
干杯!
在操场上测试:
您可以使用以下过程从日期字符串中提取时间
1.Get 给定格式的 NSDate 对象。
2.Set 具有所需格式的 NSDateFormatter 对象。
3.Get 所需格式的日期字符串。
- (BOOL)application:(UIApplication *)
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSString *date = [self convertDate:@"2010-08-24 00:00:00 +0000"
fromFormat:@"yyyy-MM-dd HH:mm:ss ZZZZ"
toFormat:@"hh:mm a"];
NSLog(@"DATE: %@", [date description]);
return YES;
}
- (NSString *)convertDate:(NSString *)inDateString
fromFormat:(NSString *)fromFormat
toFormat:(NSString *)toFormat
{
NSDateFormatter *dateFormatter = nil;
NSString *outDateString = nil;
NSDate *date = nil;
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:fromFormat];
date = [dateFormatter dateFromString:inDateString];
[dateFormatter setDateFormat:toFormat];
outDateString = [dateFormatter stringFromDate:date];
return outDateString;
}
我正在尝试从日期字符串中获取一天中的时间。下面的字符串应该 return 12:00AM.
2010-08-24 00:00:00 +0000
但是使用下面的代码,我的 NSDate 对象 return 在到达日志语句时为 nil。这里的问题是什么?谢谢!
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"h:mma"];
NSDate *date = [df dateFromString:@"2010-08-24 00:00:00 +0000"];
NSLog(@"DATE: %@", [date description]);
输出:日期:(空)
试试这个:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"YYYY-MM-dd hh:mm:ss ZZZZ"];
NSDate *date = [df dateFromString:@"2010-08-24 00:00:00 +0000"];
NSLog(@"DATE: %@", [date description]);
干杯!
在操场上测试:
您可以使用以下过程从日期字符串中提取时间
1.Get 给定格式的 NSDate 对象。
2.Set 具有所需格式的 NSDateFormatter 对象。
3.Get 所需格式的日期字符串。
- (BOOL)application:(UIApplication *)
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSString *date = [self convertDate:@"2010-08-24 00:00:00 +0000"
fromFormat:@"yyyy-MM-dd HH:mm:ss ZZZZ"
toFormat:@"hh:mm a"];
NSLog(@"DATE: %@", [date description]);
return YES;
}
- (NSString *)convertDate:(NSString *)inDateString
fromFormat:(NSString *)fromFormat
toFormat:(NSString *)toFormat
{
NSDateFormatter *dateFormatter = nil;
NSString *outDateString = nil;
NSDate *date = nil;
dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:fromFormat];
date = [dateFormatter dateFromString:inDateString];
[dateFormatter setDateFormat:toFormat];
outDateString = [dateFormatter stringFromDate:date];
return outDateString;
}