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

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


//timeIntervalSince1970是以GMT时间为准的,需要把时区纠正过来。

NSTimeZone* zone = [NSTimeZone systemTimeZone] ;

        

NSTimeInterval interval = oldDate.timeIntervalSince1970;

NSTimeInterval newInterval = interval-fmod(interval+zone.secondsFromGMT,60*60*24);

//interval减去interval除以 一天的秒数 后的余数。

//NSTimeInterval实际是double类型,%只能用于int型,所以需要用fmod函数。

NSDate* newDate = [NSDate dateWithTimeIntervalSince1970:newInterval];


用NSDateComponents的方式:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值