1. ホーム

C#の時刻処理(DateTimeとTimeSpanで時差を計算する)。

2022-02-28 14:35:15





    //月の最終日を取得する



    //方法1:取得するために、年+月+どのように多くの日数を把握するために使用し、例えば、今日の月の最終日を取る



    private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)



    { <未定義



        int Dtyear, DtMonth;



        DtStart = DateTime.Now;



        Dtyear = DtStart.Year。



        DtMonth = DtStart.Month.DtMonth(月)。



        int MonthCount = DateTime.DaysInMonth(Dtyear, DtMonth);//月の日数を計算する



        DtEnd = Convert.ToDateTime(Dtyear.ToString() + "-" + DtMonth.ToString() + "-" + MonthCount)。



    }



    // 方法2:翌月の初日から1日引いて、その月の最終日にする



    プライベート void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)



    { <未定義



        int Dtyear, DtMonth;

        DtStart = DateTime.Now.AddMonths(1);// 月 + 1



        Dtyear = DtStart.Year。



        DtMonth = DtStart.Month.DtMonth(月)。



        DtEnd = Convert.ToDateTime(Dtyear.ToString() + "-" + DtMonth.ToString() + "-" + "1").AddDays(-1);// 次月の初日をマイナスして取り出したい



    }

II. 時差の計算







関連するプロパティと機能



追加する。別のTimeSpan値で追加します。 



Days:TimeSpanの値を日数で返します。 



Duration:TimeSpanの絶対値を取得します。 



Hours:TimeSpanの値を時間で返します。 



Milliseconds:タイムスパンの値をミリ秒単位で返します。 



Minutes:タイムスパンの値を分単位で返します。 



Negate:現在のインスタンスの反対を返します。 



Seconds:TimeSpanの値を秒数で返します。 



Subtract:別のTimeSpan値をそこから引きます。 



Ticks:タイムスパン値のティック数を返します。 



TotalDays:タイムスパン値で表される日数を返します。 



TotalHours:TimeSpan値で表される時間数を返します。 



TotalMilliseconds:TimeSpanの値が表すミリ秒の数を返します。 



TotalMinutes:TimeSpanの値が示す分数を返します。 



TotalSeconds:TimeSpanの値で表される秒数を返します。 



簡単な例です。



DateTime d1 =new DateTime(2004,1,1,15,36,05);



DateTime d2 =new DateTime(2004,3,1,20,16,35);



TimeSpan d3 = d2.Subtract(d1);



LbTime.Text = "差分:".LbTime.Text:差分:"



+d3.Days.ToString()+"days"



+d3.Hours.ToString()+"時間"



+d3.Minutes()+"分"



+d3.Seconds.ToString()+"seconds";



方法2、SqlのDATEDIFF関数を使用する場合



使用方法 DATEDIFF ( datepart , startdate , enddate )



何日、何時間、何分離れているかなど、欲しい時差を様々な形で取り出すのに役立ちます。

日付セクションの略語 年 yy, yyyy 四半期 qq, q 月 mm, m dayofyear dy, y 日 dd, d 週 wk, ww 時 hh 分 mi, n 秒 ss, s millisecond ms 







例えば、dateiff(mi,DtOpTime,DtEnd) は、両者の時差の合計分数を取り出し、あなたのために変換してくれ、特に時間、分、秒の指定単位を必要とする場合に便利です。

III 2つの日付の差の営業日数を計算する



/// <summary>



   /// 2つの日付の差を営業日数で計算する



   /// 概要>



   /// <param name="dtStart">Start date</param>



   /// <param name="dtEnd">End date</param>



   /// <戻り値>Int</returns>



   public int CalculateWorkingDays(DateTime dtStart, DateTime dtEnd)



   { <未定義



    int count=0;



    for(DateTime dtTemp=dtStart;dtTemp<dtEnd;dTemp=dtTemp.AddDays(1))



    { <未定義



// if(dtTemp.DayOfWeek!=DayOfWeek.Saturday&&dtTemp.DayOfWeek!=DayOfWeek.Sunday)



// { <未定義



// count++;



// }



     count++を使用します。




    はカウントを返します。



   }



DateTimeは組み込みのイベントタイプで、TimeSpanは組み込みのイベント間隔タイプです。



DateTime型の2つの変数を-操作してTimeSpan型のデータを取得します。



DateTime.Now は、現在の時刻を返す読み取り専用のプロパティで、DateTime 型です。



TimeSpan :入力された日付をもとに、指定された2つの日付間の時間間隔を計算します。



構文:String TimeSpan('エスケープ文字','比較する日付','比較するターゲット日付')

戻り値:文字

パラメータの説明です。

   エスケープ文字:入力タイプは、DeepLコンテンツに例示されるような異なるフォーマット文字を持つ文字である。入力文字内のフォーマットされた文字はフォーマットされて出力され、フォーマットされていない他の文字は対応する位置に応じて出力される。' 比較する日付':input type is character, 比較する必要がある日付のフォーマットの文字内容.' target-comparison-date':input type is character, 比較に使用するターゲット日付フォーマットの文字内容.

説明:入力された日付をもとに、指定された2つの日付間の時間間隔を計算する。

エスケープ文字の説明:T:差分目盛で示される2つの日付の差の値を取得します。(正または負) d:2つの日付の差の完全な日数を取得します。(正または負)h: 2つの日付の差のうち、完全な時間の数を取得します。(正または負) u: 2つの日付の差のミリ秒数を取得します。(正または負) m: 2つの日付の間の分数を取得します。(正または負) s:二つの日付の差の整数秒の数を得る。(正または負) D: 2つの日付の差を、全日と小数で表したものを取得します。(正または負) H:整数時間で表される2つの日付の差と、時間の小数部を取得します。(正または負) U:ミリ秒の整数部とミリ秒の小数部で表される2つの日付の差を取得します。(正または負) M: 分の整数部とその小数部で表される2つの日付の差を取得します。(正または負) S: 秒の整数部と秒の小数部で表される2つの日付の差を取得します。(正または負)

#asp.net (c#)

    // 月の最終日を取得する



    //方法1:取得するために、年+月+何日、月の何日を把握するために使用し、例えば、今日の月の最終日を取る



    private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)



    { <未定義



        int Dtyear, DtMonth;



        DtStart = DateTime.Now;



        Dtyear = DtStart.Year。



        DtMonth = DtStart.Month.DtMonth(月)。



        int MonthCount = DateTime.DaysInMonth(Dtyear, DtMonth);//月の日数を計算する



        DtEnd = Convert.ToDateTime(Dtyear.ToString() + "-" + DtMonth.ToString() + "-" + MonthCount)。



    }



    // 方法2:翌月の初日から1日引いて、その月の最終日にする



    プライベート void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)



    { <未定義



        int Dtyear, DtMonth;

        DtStart = DateTime.Now.AddMonths(1);// 月 + 1



        Dtyear = DtStart.Year。



        DtMonth = DtStart.Month.DtMonth(月)。



        DtEnd = Convert.ToDateTime(Dtyear.ToString() + "-" + DtMonth.ToString() + "-" + "1").AddDays(-1);// 翌月の初日をマイナス日として取出す



    }

II. 時差の計算







関連するプロパティと機能



追加する。別のTimeSpan値で追加します。 



Days:TimeSpanの値を日数で返します。 



Duration:TimeSpanの絶対値を取得します。 



Hours:TimeSpanの値を時間で返します。 



Milliseconds:タイムスパンの値をミリ秒単位で返します。 



Minutes:タイムスパンの値を分単位で返します。 



Negate:現在のインスタンスの反対を返します。 



Seconds:TimeSpanの値を秒数で返します。 



Subtract:別のTimeSpan値をそこから引きます。 



Ticks:タイムスパン値のティック数を返します。 



TotalDays:タイムスパン値で表される日数を返します。 



TotalHours:TimeSpan値で表される時間数を返します。 



TotalMilliseconds:TimeSpanの値が表すミリ秒の数を返します。 



TotalMinutes:TimeSpanの値が示す分数を返します。 



TotalSeconds:TimeSpanの値で表される秒数を返します。 



簡単な例です。



DateTime d1 =new DateTime(2004,1,1,15,36,05);



DateTime d2 =new DateTime(2004,3,1,20,16,35);



TimeSpan d3 = d2.Subtract(d1);



LbTime.Text = "差分:".LbTime.Text:差分:"



+d3.Days.ToString()+"days"



+d3.Hours.ToString()+"時間"



+d3.Minutes()+"分"



+d3.Seconds.ToString()+"seconds";



方法2、SqlのDATEDIFF関数を使用する場合



使用方法 DATEDIFF ( datepart , startdate , enddate )



何日、何時間、何分離れているかなど、欲しい時差を様々な形で取り出すのに役立ちます。

日付部分の略語 年 yy、yyyy 四半期 qq、q 月 mm、m dayofyear dy、y 日 dd、d 週 wk、ww 時 hh 分 mi、n 秒 ss、s millisecond ms 







例えば、dateiff(mi,DtOpTime,DtEnd) は、両者の時差の合計分数を取り出し、それを変換してくれますので、特に、時間、分、秒という単位を指定する必要がある場合に便利です

III 2つの日付の差の営業日数を計算する



/// <summary>



   /// 2つの日付の差を営業日数で計算する



   /// 概要>



   /// <param name="dtStart">Start date</param>



   /// <param name="dtEnd">End date</param>



   /// <戻り値>Int</returns>



   public int CalculateWorkingDays(DateTime dtStart, DateTime dtEnd)



   { <未定義



    int count=0;



    for(DateTime dtTemp=dtStart;dtTemp<dtEnd;dTemp=dtTemp.AddDays(1))



    { <未定義



// if(dtTemp.DayOfWeek!=DayOfWeek.Saturday&&dtTemp.DayOfWeek!=DayOfWeek.Sunday)



// { <未定義



// count++;



// }



     count++を使用します。




    はカウントを返します。



   }



DateTimeは組み込みのイベントタイプで、TimeSpanは組み込みのイベント間隔タイプです。



DateTime型の2つの変数を-操作してTimeSpan型のデータを取得します。



DateTime.Now は、現在の時刻を返す読み取り専用のプロパティで、DateTime 型です。



TimeSpan :入力された日付をもとに、指定された2つの日付間の時間間隔を計算します。



構文:String TimeSpan('エスケープ文字','比較する日付','比較するターゲット日付')

戻り値:文字

パラメータの説明です。

   エスケープ文字:入力タイプは、DeepLコンテンツに例示されるような異なるフォーマット文字を持つ文字である。入力文字内のフォーマットされた文字はフォーマットされて出力され、フォーマットされていない他の文字は対応する位置に応じて出力される。' 比較する日付':input type is character, 比較する必要がある日付のフォーマットの文字内容.' target-comparison-date':input type is character, 比較に使用するターゲット日付フォーマットの文字内容.

説明:入力された日付をもとに、指定された2つの日付間の時間間隔を計算する。

エスケープ文字の説明:T:差分目盛で示される2つの日付の差の値を取得します。(正または負) d:2つの日付の差の完全な日数を取得します。(正または負)h: 2つの日付の差のうち、完全な時間の数を取得します。(正または負) u: 2つの日付の差のミリ秒数を取得します。(正または負) m: 2つの日付の間の分数を取得します。(正または負) s:二つの日付の差の整数秒の数を得る。(正または負) D: 2つの日付の差を、全日と小数で表したものを取得します。(正または負) H:整数時間で表される2つの日付の差と、時間の小数部を取得します。(正または負) U:ミリ秒の整数部とミリ秒の小数部で表される2つの日付の差を取得します。(正または負) M: 分の整数部とその小数部で表される2つの日付の差を取得します。(正または負) S: 秒の整数部と秒の小数部で表される2つの日付の差を取得します。(正または負)