C# 日付(文字列)の差分を日で求める

C# サンプルコード プログラミング

日付の差分を日で返すメソッドです。

「/」「-」で区切られた日付なら大丈夫です。

呼び出し

public int strDateDiff(string sDate1, string sDate2)

パラメータ

stringsDate1開始日
stringsDate2終了日

プログラミング

言語:C#

メソッド

/// <summary>
/// 日付(文字列)の差分取得処理
/// </summary>
/// <param name="sDate1">開始日</param>
/// <param name="sDate2">終了日</param>
/// <returns>差分(日)</returns>
public int strDateDiff(string sDate1, string sDate2)
{
    // 開始日と終了日を文字列からDateTimeにする
    DateTime date1 = DateTime.Parse(sDate1);
    DateTime date2 = DateTime.Parse(sDate2);

    // 終了日から開始日を引いて差分を求める
    TimeSpan diffTimeSpan =  date2 - date1;

    // 差分を日で返す
    return diffTimeSpan.Days;
}

 

使用例

/// <summary>
/// button1クリック時処理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
    // 区切り文字が「/」
    string s1 = "2020/10/1";
    string s2 = "2020/10/3";
    int diff1 = strDateDiff(s1, s2);
    Console.WriteLine($"{s1}と{s2}の差分は{diff1}日です。");

    // 区切り文字が「-」
    string s3 = "2020-10-1";
    string s4 = "2020-10-5";
    int diff2 = strDateDiff(s3, s4);
    Console.WriteLine($"{s3}と{s4}の差分は{diff2}日です。");
}

 

実行結果

コメント

タイトルとURLをコピーしました