我如何NSLog的NSDate?
用下面的代码粘贴,我正在尝试login一个NSDate。 我在这里做错了什么?
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"YYYY-MM-dd"]; NSDate *todaysDate; todaysDate = [NSDate date]; NSLog(@"Todays date is %@",formatter);
你所要做的就是:
NSLog(@"Todays date is %@",[formatter stringFromDate:todaysDate]);
你做错了什么是你没有做任何事情与格式化程序关联的date。 所以,你会想要做这样的事情:
NSLog(@"Todays date is %@", [formatter stringFromDate:todaysDate];
NSDate
不知道什么格式(只是date信息), NSDateFormatter
真的不知道date的任何事情,只是如何格式化它们。 所以你必须使用像-stringFromDate:
这样的方法来实际的格式化date,以便于人类可读的显示。
如果您只需要查看date信息而不需要特定格式,则不需要格式化程序来loggingdate:
NSLog(@"Todays date is %@", todaysDate);
将工作正常给你的NSDate
对象的描述。 我不会使用这个显示给用户的任何东西(使用NSDateFormatter
),但是如果你只是在debugging,并且需要查看关于NSDate
对象的信息,这是非常方便的。
完整的例子:
NSDate *today = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"YYYY-MM-dd"]; NSLog(@"%@",[formatter stringFromDate:today]); [formatter release];