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