iPhone: How to convert “yyyyMMddThhmmss” format st

2019-02-20 04:00发布

I have a string like "20121124T103000" and I want to convert this to NSDate.

I tried converting it with dateFormatter date format "yyyyMMddThhmmss" but it gives output as 2001-01-01 00:00:00 +0000 which is incorrect.

What is the way we can convert this string to NSDate?

Here is my code:

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

Any help is appreciated.

3条回答
Melony?
2楼-- · 2019-02-20 04:36

do like this,

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);
查看更多
别忘想泡老子
3楼-- · 2019-02-20 04:36

Your original code is quite close; instead of:

@"yyyyMMddThhmmss"

You should be using:

@"yyyyMMdd'T'hhmmss"

The only difference is the pair of single quotes around the 'T' in the string- you just need to let the app know that 'T' is a part of the formatting, not the actual date.

查看更多
甜甜的少女心
4楼-- · 2019-02-20 04:43

Try the following Code.

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]);
查看更多
登录 后发表回答