0

次の文字列をより読みやすい形式に変換する必要があります。

NSString *deadlineFromTable = @"2012-11-13T22:59:00.000Z";

これをNSDateに変換したいので、フォーマットできます。

次のことを試しましたが、UILabel(最後の行)に設定しようとすると、NSStringをNSDateに割り当てると互換性のないポインターエラーが発生します。

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];

NSDate *dateFromString = [dateFormatter dateFromString:deadlineFromTable];
self.deadlineLbl.text = dateFromString;

助けてくれてありがとう。

4

2 に答える 2

3

dateFormatterを2回使用する必要があります。1回は解析用、もう1回は文字列のフォーマット用です。
日付をラベルテキストとして直接割り当てることはできません。

  1. フォーマットを設定します:yyyy-MM-dd'T'HH:mm:ss.Z次に使用します
    NSDate *date = [dateFormatter dateFromString:dedlineFromTable];
  2. フォーマットを設定します:dd-MM-yyyy次に使用します
    NSString *text = [dateFormatter stringFromDate: date];
于 2012-11-13T10:52:32.803 に答える
1

2つのdateFormatterが必要です。

1つは入力文字列から日付に変換し、もう1つはその日付から目的のラベル形式に変換します。

また、文字列と一致するように日付フォーマッタの形式を変更する必要があります...

NSDateFormatter *dateStringParser = [[NSDateFormatter alloc] init];
[dateStringParser setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.Z"];

NSDate *date = [dateStringParser dateFromString:deadlineFromTable];

NSDateFormatter *labelFormatter = [[NSDateFormatter alloc] init];
[labelFormatter setDateFormat:@"dd-MM-yyyy"];

self.deadlineLbl.text = [labelFormatter stringFromDate:date];

それはそれをする必要があります。

于 2012-11-13T10:53:29.203 に答える