2017-01-19 4 views
0

私はNSDateFormatterを使用して日付をフォーマットしようとしていますが、同じ方法でフォーマットされ、最初の桁がない時間を返します。NSDateFormatter null値を返す

NSDateFormatter *dateFormat = [NSDateFormatter new]; 
[dateFormat setDateFormat:@"EEEE dd/MM/yyyy HH:mm"]; 
dateFormat.locale = [NSLocale localeWithLocaleIdentifier:@"en_AU"]; 
NSDate *startDate = [dateFormat dateFromString:startString]; 
NSDate *endDate = [dateFormat dateFromString:endString]; 

この日付: "土曜日2017年1月21日17時00"(null)を返します

この日付: "木曜日2017年2月9日14:00" が返されます2017-09- 02午前4時00分00秒0000

この日付:「木曜日2017年2月9日午後08時30分」は2017年9月2日午前十時30分00秒0000

誰でも上のいくつかの光を当てることができますが返されます。私は間違っています。 ありがとう

+4

"Dd/MM":DAY/MONTHしかし "1/21 /"、明らかにMONTH/DAY、第21月...そしてオーストラリアでは、東部ではGMTで-10です。それが10時間を削除する理由です。 – Larme

+0

ありがとうございます。私はちょうど2秒前にそれを考え出しました、それは私が遅く働こうとするものです。あなたは答えとしてそれを置くことができるので、私はそれを解決済みとマークすることができます –

答えて

1

EEEE dd/MM/yyyy HH:mmからEEEE MM/dd/yyyy HH:mmです。ちょっとした間違いは、日と月の場所を逆転させます。 明らかに「土曜日1/21/2017 17:00」は、1年の21番目の月が存在しないため(少なくともここには存在しないため)、1月21日を意味するためです。

10時間の違いは、タイムゾーンによるものです。 en_AU(私が推測する東海岸)では、GMTとの10時間の違いがあります。