是否可以通過NSLog打印NSDate對象而不打印小時,分鐘,秒?我想要它記錄的是這種格式yyyy-MM-dd,沒有小時,分鐘,秒。通過NSLog格式打印日期
我已經有了yyyy-MM-dd的NSDateFormatter,但是當我通過NSLog打印NSDate對象時,它仍然給我小時,分鐘,秒鐘。
有沒有辦法做到這一點,而不從日期對象創建另一個字符串,然後記錄該字符串?
是否可以通過NSLog打印NSDate對象而不打印小時,分鐘,秒?我想要它記錄的是這種格式yyyy-MM-dd,沒有小時,分鐘,秒。通過NSLog格式打印日期
我已經有了yyyy-MM-dd的NSDateFormatter,但是當我通過NSLog打印NSDate對象時,它仍然給我小時,分鐘,秒鐘。
有沒有辦法做到這一點,而不從日期對象創建另一個字符串,然後記錄該字符串?
當NSLog
遇到目標c對象(通過%@
標記)時,它調用方法-[NSObject description]
並在其位置輸出結果字符串。 NSDate
該方法的執行打印小時,分鐘和秒。讓它以不同方式打印的唯一方法是使用NSDateFormatter
自己生成一個字符串。
我明白了。這就說得通了。所以沒有其他方法可以做到這一點,而無需創建我自己的字符串。 – aresz
您可以使用NSDateFormatter生成您想要的任何格式。重點是,您必須將日期格式化爲字符串,而不是簡單地將格式化程序圍繞NSDate進行波動,並期望更改NSDate。 –
感謝您的評論。我已經使用yyyy-MM-dd格式通過NSDateFormatter格式化了我的NSDate。但是,當我NSLog的NSDate對象,它仍然給我的小時,分鍾,秒 – aresz
'NSDateFormatter'不會修改現有的NSDate'對象,也不會產生一個新的。它只是爲您提供從'NSDate'生成所需格式的'NSString'的能力。所以是的,每當你想把它打印到控制檯時,你都必須格式化它,或者如果日期沒有改變,就保留'NSString'。 –