打印日期通过NSLog格式化

时间:2013-10-30 22:59:54

标签: objective-c nsdate nsdateformatter nslog

是否可以通过NSLog打印NSDate对象而不打印小时,分钟,秒?我希望它记录的是这种格式yyyy-MM-dd,没有小时,分钟,秒。

我已经有一个带有yyyy-MM-dd的NSDateFormatter但是当我通过NSLog打印NSDate对象时,它仍然给我一小时,一分钟,一秒。

有没有办法在不从日期对象创建另一个字符串然后记录该字符串的情况下执行此操作?

2 个答案:

答案 0 :(得分:1)

NSLog遇到objective-c对象(通过%@令牌)时,它会调用方法-[NSObject description]并在其位置打印生成的字符串。 NSDate的方法实现打印出小时,分钟和秒。让它以不同方式打印的唯一方法是使用NSDateFormatter自己生成一个字符串。

答案 1 :(得分:1)

您可以继承nsdate并覆盖description方法以返回格式化字符串。或者写一个类别来做同样的事情,只需在日志语句中调用category方法。