0
首先我搜索了一个Xamarin.iOS等价物rangeOfUnit:inUnit:forDate:
,但似乎没有。我想翻译这个代码计算一个月内的星期数,包括部分星期
NSRange rangeOfWeeks = [self.calendar rangeOfUnit:NSWeekCalendarUnit inUnit:NSMonthCalendarUnit forDate:firstOfMonth];
但在Xamarin.iOS没有rangeOfUnit:inUnit:forDate
。有像this
public static int Weeks(int year, int month)
{
DayOfWeek wkstart = DayOfWeek.Monday;
DateTime first = new DateTime(year, month, 1);
int firstwkday = (int)first.DayOfWeek;
int otherwkday = (int)wkstart;
int offset = ((otherwkday + 7) - firstwkday) % 7;
double weeks = (double)(DateTime.DaysInMonth(year, month) - offset)/7d;
return (int)Math.Ceiling(weeks);
}
,但这里部分星期不计算在内。我也认为你失去了本地化的一部分(没有NSCalendar
,...),但那是另一回事。
如何计算一个月内的周数?如果一个月的月份开始,它应该算作整整一周。如果月份在一周中旬结束,它也应该算作整周。
感谢您的回答。 'rangeOfUnit'是一个非常强大的工具,但它在Xamarin.iOS上不可用。其实我想得到一个月的周数。对不起,我没有正确写下我的问题(并且我错误地链接了)。不过,您提到的功能将帮助我在其他方面。 +1 – testing 2015-03-16 10:00:11