【发布时间】:2011-09-10 05:26:00
【问题描述】:
好的,我不知道如何解决这个问题...我正在使用开源 CMS (Umbraco),并希望创建一个每三周轮换一次内容的宏。所以基本上我有三个文件,我想根据给定的开始日期每周显示文件 1、2 或 3(总共三周轮换)......有什么建议吗?我很讨厌在 C# 中处理日期!
除了给定开始日期的第 1、2 或 3 周返回 C# 函数外,我不需要任何特定代码...
【问题讨论】:
好的,我不知道如何解决这个问题...我正在使用开源 CMS (Umbraco),并希望创建一个每三周轮换一次内容的宏。所以基本上我有三个文件,我想根据给定的开始日期每周显示文件 1、2 或 3(总共三周轮换)......有什么建议吗?我很讨厌在 C# 中处理日期!
除了给定开始日期的第 1、2 或 3 周返回 C# 函数外,我不需要任何特定代码...
【问题讨论】:
这很有效,但如果您总是希望星期从给定的一天(例如星期日)开始,您可能需要调整它。
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);
【讨论】:
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”告诉你是在第 1、第 2 还是第 3。
【讨论】: