Co robisz źle to jeszcze nie wszystko, aby skojarzyć datę z formater zrobić. Więc, co chcesz zrobić coś takiego:
NSLog(@"Todays date is %@", [formatter stringFromDate:todaysDate];
NSDate
nie wiem nic na temat formatowania (tylko aktualne informacje), a NSDateFormatter
robi naprawdę wiedzą nic o terminach, tak jak je sformatować. Musisz więc użyć takich metod, jak -stringFromDate:
, aby faktycznie sformatować datę dla czytelnego dla ludzi wyświetlacza.
Jeśli to, co trzeba, to po prostu zobaczyć informacje o dacie i nie potrzebują konkretnego formatu, nie trzeba się logować formatowania daty:
NSLog(@"Todays date is %@", todaysDate);
będzie działać dobrze, aby dać Ci -description
obiektu NSDate
. Nie użyłbym tego do niczego, co wyświetliłbyś użytkownikowi (używaj do tego celu NSDateFormatter
), ale jest to przydatne, jeśli dopiero debugujesz i potrzebujesz informacji o obiekcie NSDate
.
'NSLog (@ "Data jest% @", todaysDate);' - Oczywiście data będą rejestrowane w długim formacie i strefy czasowej UTC, więc trzeba zrozumieć że. Aby użyć formatyzatora, wykonaj 'NSLog (@" Data jest% @ ", [formatter stringFromDate: todaysDate]);'. –
Niepowiązane, ale użyj "yyyy" dla roku, a nie "YYYY". Więcej informacji można znaleźć na stronie http://stackoverflow.com/questions/3063068/weird-behavior-when-creating-an-nsdate-of- january- the-1st-and--2dnd. – Anna