0

やあ !

文字列 : を取得しました。それ2012-11-07 15:22:06に対して a を実行したいと思いNSDateFormatterます。私がやる :

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"HH:mm, MMMM d, yyyy"];
NSString *date = [[NSString alloc] initWithFormat:@"%@", [df dateFromString:myString]];

しかし、それは動作しません。" (null)" を返します。

誰かが私を助けてくれることを願っています。

ありがとう

4

3 に答える 3

3

したがって、設定した形式は [df setDateFormat:@"HH:mm, MMMM d, yyyy"]; です。

文字列 myString は @"2012-11-07 15:22:06" です

=> 一致しない

---他の回答に関するあなたのコメントを読んで集めたもの:

#import <Foundation/Foundation.h>

int main(int argc, char *argv[]) {
@autoreleasepool {
    NSString *myString =  @"2012-11-07 15:22:06"; //yyyy-MM-dd HH:mm:ss

    //convert to date
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
    NSDate *myDate = [df dateFromString:myString];
    NSLog(@"%@", myDate); //2012-01-07 14:22:06 +0000

    //output it in natural language        
    NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    [df setTimeStyle:NSDateFormatterNoStyle];
    [df setDateStyle:NSDateFormatterMediumStyle];
    [df setLocale:usLocale];
    NSLog(@"%@", [df stringFromDate:myDate]); //Jan 7, 2012
}
}
于 2012-11-09T00:20:32.497 に答える
1

あなたのフォーマットは、文字列のフォーマットにさえ近づいていません。使用する:

yyyy-MM-dd HH:mm:ss
于 2012-11-09T00:28:25.867 に答える
0

次の形式を使用します:yyyy-MM-dd HH:mm:ss形式を取得するには:2012-11-0715:22:06。

形式を取得するには:2012年11月7日次の関数を使用します。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
NSString *string=[dateFormatter stringFromDate:date];
NSDate *newDate=[dateFormatter dateFromString:string];
于 2012-11-09T05:59:50.470 に答える