2

NSDate オブジェクト タイプから文字列を取得してラベルに表示しようとしています。ここに私が使用しているコードがあります、

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init] ;
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
//[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSDate *datey = [dateFormatter dateFromString:selectedDate];
NSString *labelData = [dateFormatter stringFromDate:datey];
dateLabel.Text = labelData;

ここで、selectedDate は、yyyy-mm-dd 形式の日付を含む文字列です。ラベルに日付が表示されていません。しかし、@"someblah" のような文字列を指定しようとすると、表示されます。どこが間違っていますか?? 助けていただければ幸いです。ありがとう

4

2 に答える 2

2

あなたの行dateLabel.Textは である必要がありますdateLabel.text

したがって、日付文字列から始めて日付に変換し、同じフォーマッタを使用して文字列に変換し直します。使いやすいではありませんか:

dateLabel.text = selectedDate;

おそらく、フォーマットと矛盾する日付文字列を使用して NSDate を作成しようとしています。たとえば、フォーマットはある@"yyyy-MM-dd"が、selectedDate がそのフォーマットと異なる場合、フォーマッタは NSDate を返しません。これを回避するには、DateFormat を selectedDate に対して正しく設定し、解析したら目的の出力に合わせて DateFormat を変更します。または、2 つのNSDateFormatterインスタンスを使用します。

于 2013-07-12T21:54:07.807 に答える
1

の代わりに特定の形式を指定してみてくださいNSDateFormatLongStyle。たとえば、

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

Googleを使用して2秒でこの回答を見つけました..(はい、ヒントです)

于 2013-07-12T21:13:56.317 に答える