WinRT 中的周数

WeekNumber in WinRT

我使用 silverlight 在 VS 2012 中为 windows phone 编写了一个程序,现在我正在尝试将我的程序导入 VS 2015 通用应用程序。在我的程序中,我需要获取给定日期的周数,因为他我写了 followin 函数

public int WeekNumber(DateTime date)
{
   GregorianCalendar cal = new GregorianCalendar(GregorianCalendarTypes.Localized);
   return cal.GetWeekOfYear(date, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
}

但是在winrt中,没有GregorianCalendar,我也尝试这样创建日历:

Windows.Globalization.Calendar cal = new Windows.Globalization.Calendar();

然后尝试获取weekofyear,但是没有这样的方法。

知道如何在 winRT 中获取给定日期的周数。

非常感谢。

我发现,当使用 Windows.Globalization.Calendar 时,你没有 GetWeekOfYear 方法,但是如果你使用 System.Globalization.Calendar,那么你会得到 GetWeekOfYear 方法在职的。基于此,下面的代码根据需要工作。

public int WeekNumber(DateTime date)
{          
    DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
    System.Globalization.Calendar cal = dfi.Calendar;
    return cal.GetWeekOfYear(date, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
}