我如何NSLog NSDate?

Ste*_*fer 16 objective-c ios

使用下面粘贴的代码,我正在尝试记录NSDate.我在这做错了什么?

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY-MM-dd"];
NSDate *todaysDate;
todaysDate = [NSDate date];
NSLog(@"Todays date is %@",formatter);
Run Code Online (Sandbox Code Playgroud)

Abd*_*que 19

你所要做的就是:

  NSLog(@"Todays date is %@",[formatter stringFromDate:todaysDate]);
Run Code Online (Sandbox Code Playgroud)


hso*_*soi 5

你做错的是你没有做任何事情来将日期与格式化程序关联起来。所以,你会想做这样的事情:

NSLog(@"Todays date is %@", [formatter stringFromDate:todaysDate];
Run Code Online (Sandbox Code Playgroud)

他们NSDate对格式化一无所知(只知道日期信息),并且NSDateFormatter对日期一无所知,只知道如何格式化它们。因此,您必须使用诸如-stringFromDate:实际格式化日期之类的方法,以实现人类可读的显示。

如果您只需要查看日期信息而不需要特定格式,则不需要格式化程序来记录日期:

NSLog(@"Todays date is %@", todaysDate);
Run Code Online (Sandbox Code Playgroud)

可以很好地为您提供该-description对象的NSDate。我不会将其用于向用户显示的任何内容(请使用 anNSDateFormatter来实现),但如果您只是在调试并需要查看有关对象的信息,这会很方便NSDate