使用NSCalender有什么办法可以在上个月的同一天使用吗?
我正在使用日历,当用户点击我想要移动到上个月的按钮时,会向用户显示像iPad日历的1个月,但应该选择与之前相同的日期。
我想做的就是
[components setMonth:([components month] - 1)];
但是,当我从31个月的月份移动到30天,而选定的日期是31天时,这会产生问题。
我能够找到Android的例子而不是iOS。
任何帮助将不胜感激
答案 0 :(得分:2)
答案 1 :(得分:1)
似乎没有明显的“正确”答案,也没有“内置”答案。
由于克里斯的“简单”想法可能导致无效日期,您可能必须处理边缘情况。
处理日月年的伪代码:
另一个想法:
prevMonthDate = startDate;
Repeat
prevMonthDate = prevMonthDate - 1 day
Until (Month(prevMonthDate) < Month(startDate) Or Year(prevMonthDate) < Year(startDate))
And (Day(prevMonthDate) <= Day(startDate))
这需要使用NSDate和NSDateComponents,请查看Date and Time Programming Guide。