WinRT中的WeekNumber

时间:2015-05-21 18:37:59

标签: c# silverlight windows-runtime winrt-xaml win-universal-app

我在VS 2012中为使用silverlight的Windows手机编写了一个程序,现在我正在尝试将我的程序导入VS 2015 Universal应用程序。在我的程序中,我需要得到给定日期的周数,因为他写了我的跟随函数

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();

然后尝试获得一周,但没有这样的方法。

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

非常感谢。

1 个答案:

答案 0 :(得分:1)

我发现,在使用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);
}