繁体   English   中英

iPhone:如何将“yyyyMMddThhmmss”格式字符串转换为 NSDate?

[英]iPhone: How to convert "yyyyMMddThhmmss" format string to NSDate?

我有一个像“ 20121124T103000 ”这样的字符串,我想将它转换为NSDate

我尝试将它转换为 dateFormatter 日期格式“ yyyyMMddThhmmss ”,但输出为2001-01-01 00:00:00 +0000 ,这是不正确的。

我们可以将此字符串转换为NSDate什么?

这是我的代码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyyMMddThhmmss"];
NSLog(@"%@",[dateFormat dateFromString:@"20121124T103000"]);

任何帮助表示赞赏。

您的原始代码非常接近; 代替:

@"yyyyMMddThhmmss"

你应该使用:

@"yyyyMMdd'T'hhmmss"

唯一的区别是字符串中 'T' 周围的一对单引号 - 您只需要让应用程序知道 'T' 是格式的一部分,而不是实际日期。

试试下面的代码。

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]);

这样做,

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM