我有一個查詢從C#調用Oracle數據庫。我想編寫查詢來獲取最多5年的數據。日期範圍天數.... C#
我現在有public const int FIVE_YEARS_IN_DAYS = 1825;
一個硬編碼值,但是,這是因爲閏年的不正確。有沒有一個函數可以給我前5年的正確天數?
我有一個查詢從C#調用Oracle數據庫。我想編寫查詢來獲取最多5年的數據。日期範圍天數.... C#
我現在有public const int FIVE_YEARS_IN_DAYS = 1825;
一個硬編碼值,但是,這是因爲閏年的不正確。有沒有一個函數可以給我前5年的正確天數?
我想你想要這樣的:
DateTime now = DateTime.Now;
now.AddYears(-5).Subtract(now).Days
DateTime now = DateTime.Now;
TimeSpan fiveYears = now.Subtract(now.AddYears(-5));
int numberOfDaysInLastFiveYears = fiveYears.Days;
這將正確地解釋閏年。現在這樣做產生1,826天。
與我對@Bakak Naffas的回答相同的評論。可能更安全地捕獲DateTime.Now並使用捕獲的值執行計算。 – wageoghe 2010-12-15 20:10:47
是的,這是正確的。通常捕獲'DateTime.Now'是一種很好的做法。 – 2010-12-15 20:12:08
爲什麼不每年使用365.25天? – PostMan 2010-12-15 19:59:26
@PostMan - 這並不總是準確的。我們每4年沒有閏年。處理時間是編程中的一個領域,它使用經過硬化和測試的解決方案要好得多。被咬傷很容易。 – 2010-12-15 20:05:23
@所有....感謝您的輸入。非常有幫助 – MikeTWebb 2010-12-15 20:47:15