0

文字列を日付に変換する必要があります。私は同じことをするために日付フォーマッタを使用しています。

コード:

NSString *stringDate = @"2010-06-21";

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateFormat:@"yyyy-MM-dd"];

NSDate *theDate = [dateFormatter dateFromString:stringDate];

これにより、渡された文字列の日付ではなく、以前の日付が得られます。だから私はタイムゾーンを使ってみました。

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"];

これは私に正しい日付を与えていますが、間違った時間です。

日付だけ欲しい。結果で正しい日付を取得し、時間を切り捨てる方法。

前もって感謝します

4

1 に答える 1

1

これを試して -

dateOnlyFormatter = [[NSDateFormatter alloc] init];
[dateOnlyFormatter setDateFormat:@"yyyy-MM-dd"];
[dateOnlyFormatter setLocale:enUSPOSIXLocale];
[dateOnlyFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];

明らかに、あなたが求めるNSDateには時間要素があります-そのように日付フォーマッタを使用する必要があります-

NSString *myDateAsString = [dateOnlyFormatter stringFromDate:theDate];

...次に、文字列を dateFormatter にフィードバックして、時間ゼロの NSDate を取得できます-

NSDate *myNewDate = [dateOnlyFormatter dateFromString:myDateAsString];
于 2012-04-13T09:48:58.590 に答える