日付の差分を日で返すメソッドです。
「/」「-」で区切られた日付なら大丈夫です。
呼び出し
public int strDateDiff(string sDate1, string sDate2)
パラメータ
string | sDate1 | 開始日 |
string | sDate2 | 終了日 |
プログラミング
言語: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}日です。");
}