如何获取开始和结束日期

时间:2013-09-16 11:09:38

标签: c# date

我应该在excel表中添加开始日期和结束日期。 开始日期是星期六的最后几周,结束日期是星期五的当前星期。 这应该每周进行.. 仅在每个星期一,应自动附加新的开始和结束日期。 我怎样才能得到我的要求的日期。 请帮我。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个

   DateTime startOfWeek = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
   DateTime lastWeekSaturday = StartOfWeek.AddDays(-1);
   //Console.Write(lastWeekSaturday);
   DateTime currentWeekFriday=  DateTime.Now.AddDays(5 - (int)DateTime.Now.DayOfWeek);
   //Console.Write(currentWeekFriday);

Demo

答案 1 :(得分:1)

如果您的代码仅在星期一运行 ,则可以使用此代码:

DateTime lastWeekSaturday = DateTime.Now.AddDays(-2);
DateTime thisWeekFriday = DateTime.Now.AddDays(4);

您可以从这些DateTime对象中提取所需的部分。

答案 2 :(得分:0)

这是一些神奇的代码:D

if (DateTime.Today.DayOfWeek == DayOfWeek.Monday)
{
    DateTime lastWeekSaturday = DateTime.Now.AddDays((int)DayOfWeek.Saturday - 1 - 7);
    DateTime lastWeekThursday = DateTime.Now.AddDays((int)DayOfWeek.Thursday - 1 - 7);
    DateTime lastWeekTuesday = DateTime.Now.AddDays((int)DayOfWeek.Tuesday - 1 - 7);

    DateTime thisWeekFriday = DateTime.Now.AddDays((int)DayOfWeek.Friday - 1);
    DateTime thisWeekThursday = DateTime.Now.AddDays((int)DayOfWeek.Thursday - 1);
    DateTime thisWeekTuesday = DateTime.Now.AddDays((int)DayOfWeek.Tuesday - 1);

    DateTime nextWeekTuesday = DateTime.Now.AddDays((int)DayOfWeek.Tuesday - 1 + 7);
}
else
    MessageBox.Show("Its not monday");

只需-7返回一周,+7继续前进一周。我认为你提供的例子会很好。