首页 > 代码库 > 日期只精确到天 省略时间的时间部分

日期只精确到天 省略时间的时间部分

个人感觉,比用NSDateComponents 的方式简洁。简单测试了下,没有问题。大家测试有问题的话,请反馈一下。


NSDate* oldDate = [NSDate date];

NSTimeInterval interval = oldDate.timeIntervalSince1970;
//将interval减去interval除以 一天的秒数 后的余数。
//NSTimeInterval实际是double类型,%只能用于int型,所以需要用fmod函数。

NSDate* newDate = [NSDate dateWithTimeIntervalSince1970:interval-fmod(interval,60*60*24)];


用NSDateComponents的方式:

unsigned int flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:flags fromDate:date];
NSDate* dateOnly = [calendar dateFromComponents:components];

日期只精确到天 省略时间的时间部分