Tôi đã mã sau đây để có được những weeknumber của năm được đưa ra trong thời đối tượng DateTimeTuần trong năm C# Datetime
public static int WeeksInYear(DateTime date)
{
GregorianCalendar cal = new GregorianCalendar(GregorianCalendarTypes.Localized);
return cal.GetWeekOfYear(date, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);
}
Bây giờ tôi cung cấp cho các chức năng ngày 2012/1/1 Mà nên trở lại trong tuần 1, nhưng hes trở lại tuần 52. Và tôi dường như không thể hiểu tại sao. Bất cứ ai cũng có một ý tưởng tại sao?
thử với điều này 'cal.GetWeekOfYear (ngày, LịchWeekRule.FirstFourDayWeek, DayOfWeek.Sunday)' – Raghuveer
@RaghuveerGuthikonda: Điều đó sẽ chỉ hoạt động trong trường hợp đặc biệt này. Ví dụ. 1/1/2013 có thể là thứ Bảy, nó sẽ không hoạt động. Nó chỉ là cách lịch tuần được tính toán. 1/1/2012 là trong tuần 52 và nó nên có mặt ở đó. – basti