C#の時刻処理(DateTimeとTimeSpanで時差を計算する)。
//月の最終日を取得する
//方法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つの日付の差を取得します。(正または負)
// 月の最終日を取得する
//方法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つの日付の差を取得します。(正または負)
関連
-
TP5.1 で数値が正しく表示されない問題が発生しました。
-
ファイルをマージしていないため、プルできません。
-
Androidのパッケージ名変更とパッケージ名エラーに対応するクライアントが見つからない場合の解決策
-
Pygameでタイマーを使う
-
Python3_TypeError: 'list' オブジェクトは呼び出し可能ではありません。
-
django+uwsgi+nginxプロジェクトをubuntu環境に展開し、上流の早期接続切断のエラーを解決することができる。
-
Java Runtime Environmentのプログラムエラー処理方式で致命的なエラーが検出されました。
-
Android Studio FAQ -- AndroidManifest.xml のカバレッジに関する問題
-
CodeBlock "no such file or directory" or "undefined reference" エラー解決法(ヘッダーファイルが見つからないクラスを作成する場合)
-
KeyError: 'CUDA_VISIBLE_DEVICES' です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
libc++abi.dylib: NSException タイプの捕捉されない例外で終了するエラー
-
エラーです。モジュール 'less' が見つかりません。
-
ノード名とサービス名に対する解決策が提供されていない
-
Python Basics-TypeError: 位置引数を2つ取るが、3つ与えられている
-
numpy.concatenate merge matrix エラー ValueError: すべての入力配列は同じ次元数でなければなりません。
-
avc: denied { read write }.
-
エラーです。関数の戻り値を書き込みコンテキストで使用できません 解決策
-
math,hとcmath.hの違いは何ですか?
-
Uncaught TypeError: $.cookie は関数ではありません Solution
-
glibc detected *** corrupted double-linked list: エラーの原因は3つ考えられます。