我有一个查询从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