2012-03-22 22 views
0

指定開始日と終了日の間の日数をカウントします。指定した開始日と終了日の間の累計日数

ここで、開始日と終了日はユーザーによって入力されます。 それを使って、私はそれらの間の合計日数を数えなければなりません。

私のデータベースは

leave_daysはint型leave_id int型 leave_start_dateのDateTime leave_end_dateのDateTime

以下のようで、私は.cs(クラス)モデルのファイルは、以下のように

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 
using System.ComponentModel; 

namespace LeaveModule.Models 
{ 
    public class LeaveSet 
    { 
     public int user_id { get; set; } 
     public DateTime leave_start_date { get; set; } 
     public DateTime leave_end_date { get; set; } 
     public string leave_description { get; set; } 
     public decimal leave_days { get; set; } 
    } 
} 

第二のファイルです

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using ProjectManagementSystem.Models; 

namespace LeaveModule.Models 
{ 
    public class LeaveSetFetch 
    { 

     public static IList<LeaveSet> all() 
     { 
      IList<LeaveSet> result = 
       (IList<LeaveSet>)HttpContext.Current.Session["leave"]; 

      if (result == null) 
      { 
       HttpContext.Current.Session["leave"] = result = 
        (from l in new ProjectManagementSystemEntities3().leave_master 
        select new LeaveSet 
        { 
         user_id = l.user_id, 
         leave_start_date = l.leave_start_date, 
         leave_end_date = l.leave_end_date, 
         leave_description = l.leave_description, 
         leave_days = l.leave_days, 
         // is_valid = l.is_valid, 

        }).ToList(); 

      } 
      return result; 
     } 
    } 
} 

どうすればいいですか?MVC3?事前に

おかげ..

答えて

3
DateTime dt1 = new DateTime(2012, 3, 3); 
DateTime dt2 = new DateTime(2011, 3, 3); 
var days = dt1.Subtract(dt2).TotalDays; 

ボーナス:Hereは、.NETのDateTimeクラス

についてジョンスキートから良いブログです
関連する問題