2017-09-27 3 views
0

日付が(NSDate)、文字列からのNSDate変換が正しくありません

"EEEE、dd MMM YYYY"という形式で変換されます。 「2017年5月22日(月曜日)」

しかし、とき、それは

NSDateFormatter * formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"EEEE,dd MMM YYYY"]; 
    NSDate *currentDate = [formatter dateFromString:“Monday,22 May 2017”]; 

間違った出力が2016年12月25日18時30分○○秒+でこのコードを使用して、間違った日付に

を与えるとデートするために、この文字列を変換0000

誰でもお手伝いできますか?

+0

日は何の適切な形式を持っていないように、 –

答えて

2

日は何の適切な形式を持っていませんが、ここで「YYYY」@yyyyの代わりYYYY

を使用するには、週ベースの暦年です。

@ "yyyy"は通常の暦年です。サンプルのため

[formatter setDateFormat:@"EEEE,dd MMM yyyy"]; 

NSDateFormatter * formatter = [NSDateFormatter new]; 
[formatter setDateFormat:@"EEEE,dd MMM yyyy"]; 
NSDate *currentDate = [formatter dateFromString:@"Monday,22 May 2017"]; 
+0

はい問題は「YYYY」であるだろう。私は元の日付ではなく正確な時刻を描くことはできません。 –

+0

@Rushi - 日付は正確な答えを生成しません。文字列に再度変換すると元の回答 –

+1

が返ってきますが、元の日付ではなく正確な時刻を表すことはできません。NSStringに時間がないので、 。しかし、あなたがGMTから5:30のインドにいると思うので、これは18:30を説明します。 – Larme

-1

問題は、このライン[formatter setDateFormat:@"EEEE,dd MMM YYYY"];です。

yyyyは暦年を指定し、YYYYは年(週)を指定します。したがって、YYYYの代わりにyyyyを使用する必要があります。 だからあなたのコードは、この

[formatter setDateFormat:@"EEEE,dd MMM yyyy"];

+0

なぜこのdownvote? –

+0

私はdownvoteを割り当てていません –

+0

私はここにdownvoteの理由は表示されません。 –

関連する問題