[解決済み] 2つの日付の間の月数の差
2022-03-14 12:29:50
質問
C#で2つの日付の月差を計算する方法は?
VB の
DateDiff()
メソッドを C# で使用することができます。年離れた2つの日付の間の月の差を求める必要があります。ドキュメントによると、私は
TimeSpan
のようなものです。
TimeSpan ts = date1 - date2;
が、これだとDaysでデータが表示される。 この数字を30で割りたくないんです。 なぜなら、すべての月が30日とは限らないし、2つのオペランドの値は互いにかなり離れているので、30で割ると間違った値が得られるかもしれないと思うからです。
何か提案はありますか?
解決方法は?
月日は関係ない(2011.1.1と2010.12.31の差分が1)と仮定して、date1 > date2が正の値、date2 > date1が負の値である場合
((date1.Year - date2.Year) * 12) + date1.Month - date2.Month
あるいは、2つの日付の間の「平均月数」の概算が必要だと仮定すると、非常に大きな日付の違いを除いては、次のようにすればよいでしょう。
date1.Subtract(date2).Days / (365.25 / 12)
もし後者の解決策を使うなら、ユニットテストでは、アプリケーションが動作するように設計された最も広い日付範囲を記述し、それに応じて計算結果を検証する必要があることに注意しましょう。
アップデート (感謝) ゲイリー )
平均月数」の方法を使う場合、「年間平均日数」に使う少し正確な数値は次の通りです。 365.2425 .
関連
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み] この2回(1927年)を引き算すると、なぜおかしな結果になるのでしょうか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] .NETでのdecimal, float, doubleの違い?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] Java 8: 2つのLocalDateTimeの複数単位での差分
-
[解決済み】Joda-Timeの2つの日付の間の日数について
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】プロジェクトビルド時のエラー。エディタでスクリプトにコンパイルエラーがあるため、Playerのビルドにエラーが発生する
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み】WebResource.axdとは何ですか?