0

私はオブジェクトにこのメソッドを持っています:

  - (NSString *)formattedScheduledOn
  {
      NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
      [dateFormater setDateFormat:@"MM/dd/yyyy hh:mm"];
      return [dateFormater stringFromDate:self.scheduledOn];
  }

cheduledOnはNSDateオブジェクトです。生の日付として表示すると、次のようになります:2013-03-22T09:44:28-07:00

しかし、私は常にそのメソッドからnullを取得します。何か案は?ありがとう!

4

2 に答える 2

2

日付が でないことを確認してくださいnil。次のコードを試して、何が返されるかを確認してください

  NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
  [dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
  [dateFormater setDateFormat:@"MM/dd/yyyy hh:mm"];
  return [dateFormater stringFromDate:[NSDate date]];

日付を文字列として渡す場合は、渡された日付文字列に従ってフォーマットを設定する必要があります。

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssz"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
于 2013-03-22T15:57:10.970 に答える
-1

なぜこのようなことをしないのですか?

datePicker を選択するように設定するか、必要なものを設定します。

[pick addTarget:self action:@selector(updateDateLabel:) forControlEvents:UIControlEventValueChanged];

-(IBAction)updateDateLabel:(id)sender {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterLongStyle];
    [formatter setTimeStyle:NSDateFormatterMediumStyle];
    dateLabel.text = [formatter stringFromDate:pick.date];
}
于 2013-03-22T15:59:32.277 に答える