0

特定の日付、つまり 13/03/2013 の null 文字列を取得しています。これが私のコードです:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM/dd/yyyy HH:mm:ss a"];
NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"];
NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"];           

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[df setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString *datestr = [df stringFromDate:myDate];
NSString *datestr1 = [df stringFromDate:myDate1];
NSLog(@"date object %@,%@",datestr,datestr1);
4

3 に答える 3

4

問題はあなたの日付形式ですMM/dd/yyyy HH:mm:ss a。そして、次のような日付を追加しました: 13/03/2013 6:25:48 AM.

12月しかなく、13月はありません。

フォーマットを次のように変更します。dd/MM/yyyy HH:mm:ss a

于 2013-03-14T04:47:00.370 に答える
3

日付形式の規格を調べた方がよいでしょう。日付と時刻の形式

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
    NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"];
    NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"];  

    [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
    NSString *datestr = [formatter stringFromDate:myDate];
    NSString *datestr1 = [formatter stringFromDate:myDate1];
    NSLog(@"date object %@,%@",datestr,datestr1);
于 2013-03-14T04:34:44.740 に答える
2

13番目の月がないからです。

フォーマッターを MM/dd//yyyy として使用しているため、13/03/2013 は無効な日付です。

これを試して

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy HH:mm:ss a"];
NSDate *myDate = [formatter dateFromString:@"12/03/2013 5:47:00 AM"];
NSDate *myDate1 = [formatter dateFromString:@"13/03/2013 6:25:48 AM"];

NSLog(@"%@",myDate1);


NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[df setDateFormat:@"yyyy-MM-dd HH:mm"];
NSString *datestr = [df stringFromDate:myDate];
NSString *datestr1 = [df stringFromDate:myDate1];



NSLog(@"date object %@,%@",datestr,datestr1);
于 2013-03-14T04:36:29.183 に答える