我有一个类似“20121124T103000
”的字符串,我想将其转换为NSDate
。
我尝试使用dateFormatter日期格式“yyyyMMddThhmmss
”进行转换,但输出为2001-01-01 00:00:00 +0000
这是不正确的。
我们将此字符串转换为NSDate
的方式是什么?
这是我的代码:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMddThhmmss"];
NSLog(@"%@",[dateFormat dateFromString:@"20121124T103000"]);
感谢任何帮助。
答案 0 :(得分:4)
您的原始代码非常接近;而不是:
@"yyyyMMddThhmmss"
您应该使用:
@"yyyyMMdd'T'hhmmss"
唯一的区别是字符串中'T'周围的单引号对 - 您只需让应用知道'T'是格式的一部分,而不是实际日期。
答案 1 :(得分:1)
请尝试以下代码。
NSString *dateStr = @"20121124T103000";
NSDateFormatter *dtF = [[NSDateFormatter alloc] init];
[dtF setDateFormat:@"yyyyMMdd'T'hhmmss"];
NSDate *d = [dtF dateFromString:dateStr];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd'T'hhmmss"];
NSString *st = [dateFormat stringFromDate:d];
NSLog(@"%@",st]);
答案 2 :(得分:1)
这样做,
NSString *dateStr = @"20121124T103000";
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMdd'T'hhmmss"];
NSDate *d = [dateFormat dateFromString:dateStr];
NSString *st = [dateFormat stringFromDate:d];
NSLog(@"%@",st);