2

NSDateFormatterのdateFromStringを使用していますが、文字列「2013-03-06」が指定されると、「2012-03-0600:00:00CST」のNSDateが出力されます。時間は重要ではありません。入力と出力でまったく同じになるように日付形式を設定しています。

コードを使用して日付を設定するオブジェクトがあります。

NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];
NSDate* currentDate = [[NSDate alloc] init];

[dateFormat setDateFormat:@"YYYY-MM-dd"];
[self setMyValue:[dateFormat stringFromDate:currentDate]];

そして、この値は後でUIDatePickerに日付を設定するために使用されます。

NSDate *date = [[[NSDate alloc] init] autorelease];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

[dateFormat setDateFormat:@"YYYY-MM-dd"];

date = [dateFormat dateFromString:myFilter.myValue];

[datePicker setDate:date animated:YES];

私が間違っているところについてのポインタは大歓迎です。

4

3 に答える 3

10

を使用する必要がyyyyありYYYYます。

データフォーマットガイドから:

よくある間違いはYYYYを使用することです。yyyyは暦年を指定し、YYYYはISO年-週暦で使用される(「年の週」の)年を指定します

于 2013-03-06T16:46:19.043 に答える
1

YYYYをyyyyの形式に変更します。

于 2013-03-06T16:50:00.437 に答える
-1

'YEARS'の変更中にゼロエラーを取得するには、yyyyの代わりにを使用します。YYYY

于 2016-11-08T10:15:44.717 に答える