【发布时间】:2014-03-14 19:03:59
【问题描述】:
我原来的日期格式是:2014-03-14T10:35:24.537
所以我首先用 componentsSeparatedByString 分隔时间和日期,然后将后半部分(时间部分)保存到 NSString 时间,同时消除微秒。格式为 10:35。我试图让它添加 PM/AM 但 setDateFormat:@"hh:mm a" 没有这样做。我究竟做错了什么?
NSArray *components = [datestr componentsSeparatedByString:@"T"];
NSString *time = components[1];
time = [time substringWithRange:NSMakeRange(0, 5)];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSDate *timeFromString = [formatter dateFromString:time];
NSLog(@"%@", timeFromString);
当我记录 timeFromString 时,我得到一个空值。
编辑:我将上面的格式化程序更改为 [formatter setDateFormat:@"hh:mm"];现在 timeFromString 记录为: 2000-01-01 18:35:00 +0000 当数据输入为 2014-03-14T10:35:28.42
【问题讨论】:
-
要将字符串转换为
NSDate,您需要一种与您拥有的字符串匹配的格式。然后使用第二种格式来获取您想要的新字符串。 -
你得到的输出是正确的。