我想在c#中获取上一年的前一周的数量。例如,今天是2015年的第1周,而我想获得最后一周,就像2014年的第52周一样。
目前我的代码是
var weekNo = currentCulture.Calendar.GetWeekOfYear(
DateTime.Now.Date,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
它返回第1周。我有一个循环,该循环曾经从第1周运行到weekNo-1以获取去年的数据,但是现在weekNo-1返回0,而我希望它返回52。
所以应该是这样的
int lastweekNo = lastWeek(datetime.today); //returns 52 for today's date, 1 for next Monday's date,..
让我知道如何实现这一目标。任何想法将不胜感激。
谢谢。
最佳答案
如果这给您当前的星期数:
currentCulture.Calendar.GetWeekOfYear(
DateTime.Now.Date,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);
这不给您前一周的号码吗?
currentCulture.Calendar.GetWeekOfYear(
DateTime.Now.AddDays(-7).Date,
currentCulture.DateTimeFormat.CalendarWeekRule,
currentCulture.DateTimeFormat.FirstDayOfWeek);