2016-05-02 22 views
1

Row_Inserting()メソッド中にGetMonths()メソッドを呼び出そうとしていますが、エラーが表示されます。また、このメソッドの値をTotal_Payという名前の変数にコピーするにはどうすればよいですか?このことができます2つの日付の間に月を取得するC#

public override bool Row_Inserting(OrderedDictionary rsold, ref OrderedDictionary rsnew) 
{  
    GetMonths(FROM_DATE, TO_DATE); 
    return true; 
} 

public int GetMonths(DateTime FROM_DATE, DateTime TO_DATE) 
{ 
    if (FROM_DATE > TO_DATE) 
    { 
     throw new Exception("Start Date is greater than the End Date"); 
    } 

    int months = ((TO_DATE.Year * 12) + TO_DATE.Month) - ((FROM_DATE.Year * 12) + FROM_DATE.Month); 

    if (TO_DATE.Day >= FROM_DATE.Day) 
    { 
     months++; 
    } 

    return months; 
} 
+0

そして、何をチェックアウトするには、このコードが間違っていますか?もっと説明してください。 –

+0

呼び出しGetMonths(FROM_DATE、TO_DATE);このメソッドを呼び出す方法が間違っています – ghalib

+0

説明:この要求を処理するために必要なリソースのコンパイル中にエラーが発生しました。以下の特定のエラーの詳細を確認し、ソースコードを適切に変更してください。 コンパイラエラーメッセージ:CS1502:27行 : 'ASP._Page_UNPAID_LEAVESadd_cshtml.cUNPAID_LEAVES_add .GetMonths(System.DateTimeで、可能System.DateTime')のための最良のオーバーロードされたメソッドの試合は、いくつかの無効な引数 ソースエラーがあります:GetMonths(FROM_DATE、TO_DATE); – ghalib

答えて

0

・ホープ..

public override bool Row_Inserting(OrderedDictionary rsold, ref OrderedDictionary rsnew) 
    { 
     int Total_Pay; 
     DateTime FROM_DATE = DateTime.Parse("02-May-2016"); //Replace with date you need 
     DateTime TO_DATE = DateTime.Parse("08-May-2016"); //Replace with date you need 
     Total_Pay = GetMonths(FROM_DATE, TO_DATE); 
     return true; 
    } 

    public int GetMonths(DateTime FROM_DATE, DateTime TO_DATE) 
    { 
     if (FROM_DATE > TO_DATE) 
     { 
      throw new Exception("Start Date is greater than the End Date"); 
     } 
     int months = ((TO_DATE.Year * 12) + TO_DATE.Month) - ((FROM_DATE.Year * 12) + FROM_DATE.Month); 
     if (TO_DATE.Day >= FROM_DATE.Day) 
     { 
      months++; 
     } 
     return months; 
    } 

そして、これと同様の問題Link

+0

単純なDateTimeの減算によってTimeSpanが生成されるため、月を取得する簡単な方法が得られます。それは簡単ではないですか? –

+0

はい、しかし、31日の月とうるう年の2月などを計算するのは難しいですが、2番目の説明は悪いです;)、日時減算 – lal

+0

2番目ですがill説明;)、DateTime減算は必要な日付の違いを与えます手で月数を計算する。明白な選択は/ 30であり、カウントダウンの目的では問題ありません。しかし、2つの日付の違いとして表示するときは、より正確にする必要があります。 – lal