0

任何人都知道如何建立一周的数据表吗?

我听说有很多类型的计算,公历等...我的需求是 ISO 周号,绑定到数据表取决于周号。

DataTable 有 2 列:ISOWeekNo 和 WeekName

ISOWeekNo   WeekName
1           01 Jan 2012 To 07 Jan 2012
2           08 Jan 2012 To 14 Jan 2012

如何根据 ISO Week No 在 C# 中以编程方式构建?

4

1 回答 1

2
// Set up DataTable
var dt = new DataTable();
var col1 = new DataColumn("ISOWeekNo", typeof(int));
var col2 = new DataColumn("WeekName", typeof(string));
dt.Columns.AddRange(new[] { col1, col2 });
dt.PrimaryKey = new[] { col1 };

// Start with the first day of this year and check each day until next year.
var day = new DateTime(DateTime.Now.Year, 1, 1);
while (day.Year == DateTime.Now.Year)
{
    var weekNum = DateTimeFormatInfo.InvariantInfo.Calendar.GetWeekOfYear(day, CalendarWeekRule.FirstFullWeek, DayOfWeek.Monday);
    if (!dt.Rows.Contains(weekNum))
        dt.Rows.Add(weekNum, string.Format("{0} to {1}", day.ToString("dd' 'MMM' 'yyyy"), day.AddDays(6).ToString("dd' 'MMM' 'yyyy")));
    day = day.AddDays(1);
}
于 2012-01-04T09:49:04.260 回答