0

新しい月の始まりである 8 月 1 日に、私のコードで DateTime 数学のバグを発見しました。DateTime クラス メンバーを 7 日前の DateTime 値に設定しています。したがって、8 月 1 日の値は 7 月 25 日になります。

1 (DateTime.Now.Day-7) から 7 を減算しようとすると、問題がはっきりとわかります。

では、日付に関係なく常に機能する DateTime オブジェクトを作成するにはどうすればよいでしょうか。

エラー:

Year, Month, and Day parameters describe an un-representable DateTime.

コードは次のとおりです。

DateFrom = (new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day-7));

このメンバーを現在の DateTime から 7 日前に設定する正しい方法は何ですか?

4

3 に答える 3

11

から 7 日を差し引くだけDateTime.Nowです。

DateFrom = DateTime.Now.Date.AddDays(-7);
于 2013-08-01T11:44:40.993 に答える
2
DateFrom date = DateTime.Now.AddDays(-7);
于 2013-08-01T11:45:53.030 に答える
1

整数を取るdatetimeオブジェクトのAddDaysメソッドを使用できます。負の値も取るため、時間を簡単に戻すことができます。

DateFrom = DateTime.Now.AddDays(-7);
于 2013-08-01T11:49:04.523 に答える