1

私は StackOverflow を調べてきましたが、まだ回答が見つかりませんでした。これに回答する投稿を見逃した場合は、お詫び申し上げます。リンクに感謝します。

今日の日付と比較するために、文字列「prod.Start」を NSDate 型に変更しようとしています。次のコード myDate は、「1753-01-01 00:00:00 -075258」を返します。

コード:

NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setFormatterBehavior:NSDateFormatterBehavior10_4];
[format setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *myDate = [format dateFromString: prod.Start];  //prod.Start = 1/1/1753 12:00:00 AM

提案/ヒントをいただければ幸いです。

ありがとう

編集:

今すぐ動作します:すべての助けに感謝します。間違いだと思ったのは午前12時=午前0時

12PM を試したところ、出力は「1753-01-01 12:00:00 -075258」でした

「-075258」についても説明していただきありがとうございます = PST はそれについて興味を持っていました。

4

2 に答える 2

1

あなたは正しい軌道に乗っています。NSDate 比較関数はその標準形式でのみ機能するため、これが正しい出力です (ただし、私のコードが機能しない場合は、Max のソリューションを確認してください)。これを今日の日付と比較する必要があります...

NSDate *todaysDate = [NSDate date];
BOOL isToday = [todaysDate isEqualToDate:myDate];

それはあなたが探しているものを与えるはずです。

于 2010-09-01T00:46:34.713 に答える
0

10.4 スタイルの書式指定文字列を使用していますが、既定のフォーマッタの動作は 10.0 スタイルです。フォーマッタが正しいスタイルを使用していることを確認しましたか? –setFormatterBehavior:で、または でグローバルに変更できます+setDefaultFormatterBehavior:

于 2010-09-01T00:41:52.387 に答える