天天看点

C# / ASP.NET 计算某个日期所在的周是当年的第几周

/// <summary>

/// 计算某个日期所在的周是当年的第几周

/// </summary>

/// <param name="dt">某个日期</param>

/// <param name="ci">区域,例如:new CultureInfo("zh-CN")</param>

/// <returns>具体的周序号</returns>

public static int WeekOfYear(DateTime dt, CultureInfo ci)

{

    return ci.Calendar.GetWeekOfYear(dt, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek);

}

使用的方法,比如: 我们要计算 2009-5-4 在中国大陆区域,属于2009年的第几周

int weekIndex = WeekOfYear(new DateTime(2009, 5, 4), new System.Globalization.CultureInfo("zh-CN"));