1

「」のような文字列があり、20121124T103000これをに変換したいと思いNSDateます。

dateFormatterの日付形式" yyyyMMddThhmmss"で変換しようとしましたが、出力2001-01-01 00:00:00 +0000が正しくありません。

この文字列をに変換する方法は何NSDateですか?

これが私のコードです:

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

どんな助けでも大歓迎です。

4

3 に答える 3

4

元のコードは非常に近いです。それ以外の:

@"yyyyMMddThhmmss"

次のものを使用する必要があります。

@"yyyyMMdd'T'hhmmss"

唯一の違いは、文字列の「T」を囲む一重引用符のペアです。「T」が実際の日付ではなく、書式設定の一部であることをアプリに通知する必要があります。

于 2012-11-24T05:55:38.590 に答える
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]);
于 2012-11-24T05:53:58.070 に答える
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);
于 2012-11-24T06:08:48.787 に答える