日历天数的加减

本文介绍了一种在Swift中实现日期加减的方法,通过NSDate、NSDateFormatter和NSCalendar组件的操作来方便地完成日期的前后调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用日历时,可能会遇到有日历加减的需求,如订票时有前一天,后一天的按钮,而实现日历加减则是非常为之麻烦的事情.

我经历了多次尝试和借鉴其他实现方法后,做了如此实现

 1 // 获取当前的日期
 2     NSDate *currentDate = [NSDate date];
 3     
 4     NSDateFormatter *df = [[NSDateFormatter alloc] init];
 5     df.dateFormat = @"yyyyMMdd";
 6     NSString *currentDateStr = [df stringFromDate:currentDate];
 7     NSLog(@"%@", currentDateStr);
 8     
 9 
10     // 可以设置一个日历model来接收日历的年月日属性,并进行显示
11     NSDate *date1 = [self.calendarModel date];
12     NSDateComponents *coments = [[NSDateComponents alloc] init];
13    // 取出日历中的day元素 并进行操作 如果加一天符号改为"+"即可
14     coments.day = -1;
15 // coments.month = -1; // 月份
16 // coments.year = -1; // 年份
17 // coments.week = -1; //18 
19    // 然后重新赋给一个新的NSDate 对象
20     NSDate *date = [[NSCalendar currentCalendar] dateByAddingComponents:coments toDate:date1 options:0];
21     NSString *dateStr = [df stringFromDate:date];

这样的话就会比较方便实现加减日期的功能.

 

转载于:https://www.cnblogs.com/hanpengshuai/p/5454391.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值