-4

C#を使用して、現在の日付に基づいて過去6か月、1年、2年の日付を計算するのを手伝ってくれる人はいますか?たとえば、現在の日付が09-11-2012日付などを調べる必要があるとします09-05-2012, 09-05-2010,09-05-2009。数学的なトリックは知っていますが、C#を使用した同様の実装を探しています。

4

4 に答える 4

3

組み込みの日付およびカレンダー ライブラリを使用するだけです。

簡単な方法はDateTimeクラスを使用することですが、正しく処理したい場合はCalendarクラスを使用すると、文化固有の情報をより詳細に制御できます (中国では月曜日が週の最初の日ですが、月曜ではないためです)。フランスで)。

ともかく:

DateTime currentDate  = new DateTime( 2012, 11, 09 ); // assuming 9th November 2012
DateTime sixMonthsAgo = currentDate.AddMonths( -6 );
DateTime yearAgo      = currentDate.AddYears( -1 );
DateTime twoYearsAgo  = currentDate.AddYears( -2 );

余談ですが、日付を "dd-mm-yyyy" 形式 (スラッシュやダッシュを使用しないでください) で記述しないでください。あいまいです。 」、それは私には意味がありません。理想的な形式は "yyyy-MMM-dd" ("mmm" は "Jan"、"Feb"、"Mar" などの 3 文字の月名)、または少なくとも "yyyy-mm-dd" です。 " 形式で、ISO 8601 により準拠しています)。

于 2012-11-09T07:36:59.853 に答える
1

日時を使用

DateTime value = new DateTime(2012, 11, 09);
DateTime nYearsAgo = value.AddYears(-n); 
于 2012-11-09T07:35:50.730 に答える
1

秘訣は、DateTime オブジェクトで.AddMonths()またはメソッドを使用し、負の値を指定して減算を実行することです。.AddYears()

于 2012-11-09T07:38:31.787 に答える
0

DateTime Methods、より具体的にはAddMonthsAddYearsを見ることができます。

于 2012-11-09T07:38:28.323 に答える