私の日付フォーマッターは、特定の1つの日付についてnilを返します: "20 Mar、1998"。NSDateFormatter dateFromStringは、特定の1つの日付に対してnilを返します。
+ (NSDate*)dateFromString:(NSString*)date
{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setLocale:[NSLocale currentLocale]];
if ([WPRConverter isUropeanMetrics])
[df setDateFormat:@"dd MMM, yyyy"];
else
[df setDateFormat:@"MMM dd, yyyy"];
return [df dateFromString:date];
}
私は日付の近くにチェックしましたし、すべてが正しく返される:
- "1997年3月20日"
- "1999年3月20日"
- "1998年3月21日"
- "1998年3月19日"
ロケールは "en_US"です。
使い方[NSDateFormatter getObjectValue:forString:範囲:エラー:]:
The value “20 Mar, 1998” is invalid. FailureReason: The value “20 Mar, 1998” is invalid. RecoverySuggestion: Please provide a valid value. RecoveryOptions: Code: 2048
ロケールを指定してください。 – Sulthan
ロケールで質問を更新しました。 – Misha
私は問題を再現できません。あなたのコードは 'MMM dd、yyyy'ブランチを通過しないのですか? – Sulthan