に私は日付フォーマットのためのいくつかの値("dd-MM-yyyy"
)をテストしていると私は説明できない特殊なケースがありますnilを返します。iOSの - NSDateFormatter dateFromStringが一つだけの場合
var datef = NSDateFormatter()
datef.dateFormat = "dd-MM-yyyy";
var date_a = "02-01-1990"
var date_b = "01-01-1990"
var date_f_a = datef.dateFromString(date_a);
var date_f_b = datef.dateFromString(date_b);
data_f_a
は1月2日を返します1990年12月12日、date_f_b
はnilを返します。
datef.lenient = true
を追加した場合、date_f_bはもはやnilではありませんが、その必要はありません。なぜそれは無効な日付ですか?
EDIT 1: 私はを使用する場合、それは同じことを起こる:
EDIT 2: Xcodeのバージョン:Xcodeの7.3 については8.1
NSDateFormatter..iの代わりにDateFormatterを使用すると、正常に動作します.iはdate_f_bのnilを取得しませんでした。 –
質問に使用しているxCodeバージョンを追加してください –
あなたのロケールとタイムゾーンは? – rmaddy