2011-06-07 67 views
1

好吧,我不知道如何解决这个问题...我使用的是开源CMS(Umbraco),并且希望创建一个每三周轮换一次内容的宏。所以基本上我有三个文件,并且我想根据给定的开始日期每周显示文件1,2或3(总共三周轮换)......任何建议?我吮吸在C#中使用日期!计算每周轮换计划

我不需要比来发回1周,2或3给出的起始日期C#的功能以外的任何特殊代码...

回答

0

这工作,虽然你可能需要调整,如果你总是希望在某一天(例如星期天)开始的几周。

 DateTime startDate = new DateTime(2011, 1, 1).Date; 
     DateTime now = DateTime.Now.Date; 
     int days = (int)now.Subtract(startDate).TotalDays; 
     int weeks = days/7; 
     Console.WriteLine((weeks % 3) + 1); 
+0

这工作!谢谢!!! – rjbullock 2011-06-09 17:07:04

0
DateTime begin = new DateTime(2011, 03, 07); 
TimeSpan timeSpan = DateTime.Now - begin; 
switch (((int) timeSpan.TotalDays/7) % 3) 
{ 
    case 0: 
     break; 
    case 1: 
     break; 
    case 2: 
     break; 
    default: 
     throw new Exception(); 
} 

第一个“/ 7”给你一周号码,“%3”告诉你,如果你在第一,第二或第三是。

+0

啊!我想你会不得不使用一个mod功能,但老实说,我的数学函数的知识是零。 ;-)但是,我会试试这个。感谢您的想法! – rjbullock 2011-06-09 15:39:49

+0

是的,这似乎没有工作...给定一个开始日期5/30/11和结束日期6/12/11(通过我设置的变量),它返回0时,它应该返回1。 – rjbullock 2011-06-09 16:57:59

+0

原因想想吧...... 7%7回报0.14%7回报0.21%7回报0等等...... – rjbullock 2011-06-09 16:59:48