-1

この内容の NSString 形式の日付があります: 29/02/2012 12:00:00 AM

以下を使用して比較を行うために、それを NSDate オブジェクトに変換しようとしています。

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd/MM/yyyy hh:mm:ss"];

しかし、dateFromString: メソッドを使用すると、null 値が返されます。

私は何が欠けていますか?

ありがとう。

-編集-

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];

    NSLog(@"INFO -> Test Date: %@",[df dateFromString:testQuestions.endDate]);
    NSLog(@"INFO -> Test Date String: %@",testQuestions.endDate);

    if ([[df dateFromString:testQuestions.endDate] earlierDate:[NSDate date]])
    {
        currentTestIsBeingSolved = NO;
    }

ログ:

2012-04-09 22:15:29.073 Otsuka On[27184:707] INFO -> Test Date: (null)
2012-04-09 22:15:31.816 Otsuka On[27184:707] INFO -> Test Date String: 29/02/2012 12:00:00 AM

編集 -

@trudyscouinが示唆したように、私は新しいプロジェクトを開始し、これを追加しました:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];

    NSLog(@"INFO -> Test Date: %@",[df dateFromString:@"29/02/2012 12:00:00 AM"]);
...

今、私はnullになっていませんが、日付は同じではありません:

2012-04-09 22:26:19.189 TestDate[54705:207] INFO -> Test Date: 2012-02-28 23:00:00 +0000

日付はどうなっていますか?

Xcodeの設定はありますか?

ありがとう。

4

1 に答える 1

3

日付と時刻の末尾に「AM」を付けたという事実が、それを行っていることです。それも提供する必要があります。

@"dd/MM/yyyy hh:mm:ss a"
于 2012-04-09T19:47:12.743 に答える