-1

私は C#.Net で作業しています。開始日と終了日が必要です。例: 「先週」を選択した場合、4 月 15 日から 4 月 21 日を取得する必要があります。「2 週間前」とは、4 月 8 日から 4 月 14 日までを意味します。3 週間前、4 週間前などと同じです。

開始日と終了日を取得する方法..

4

2 に答える 2

0

私はコンソールプログラムを作成しました..itzは正常に動作しています..それをチェックしてください

static void Main(string[] args)
        {
            Console.WriteLine("Enter week number");
            int week = int.Parse(Console.ReadLine());
            var weekStartDay = DayOfWeek.Monday;
            int daysInAWeek = 7;
            DateTime thisWeekStarttingDate = DateTime.Now.Subtract(new TimeSpan((int)DateTime.Now.DayOfWeek - (int)weekStartDay, 0, 0, 0)).Date;

            DateTime fromDate = thisWeekStarttingDate.Subtract(new TimeSpan(daysInAWeek * week, 0, 0, 0));
            DateTime toDate = fromDate.AddDays(daysInAWeek-1);

            Console.WriteLine("from date:" + fromDate.ToShortDateString());
            Console.WriteLine("to date:" + toDate.ToShortDateString());
            Console.ReadKey();
        }
于 2012-04-27T11:09:39.200 に答える
0
  var currentWeek_StartDate = GetStartWeekDate_By_Date(DateTime.Now.Date);

  var lastWeek_StartDate = GetStartWeekDate_By_WeekIndex(currentWeek_StartDate, -1);
  var lastWeek_EndDate = GetEndWeekDate_By_StartWeekDate(lastWeek_StartDate);


public static DateTime GetStartWeekDate_By_Date(DateTime date)
{
  return date.AddDays(-(int)date.DayOfWeek);
}
public static DateTime GetEndWeekDate_By_StartWeekDate(DateTime date)
{
  return date.AddDays(6);
}
public static DateTime GetStartWeekDate_By_WeekIndex(DateTime date, int weekIndex)
{
  return date.AddDays(weekIndex * 7);
}
于 2012-04-27T11:04:50.353 に答える