gpt4 book ai didi

c# - 为什么没有 DateTime.AddWeeks(),如何获取 52 周前的 DateTime 对象?

转载 作者:可可西里 更新时间:2023-11-01 07:51:22 25 4
gpt4 key购买 nike

System.DateTime 对象具有 AddYears()、AddMonths()、AddDays()、AddSeconds() 等方法

我注意到没有 AddWeeks()。这是为什么?

此外,我的要求是获取 52 周前的价格值。我知道这相当于 1 年,但具体是 52 周。

我这样做会不会一样:

yearOldPrice = _priceService.GetPriceForDate(price.Date.AddYears(-1));

作为

yearOldPrice = _priceService.GetPriceForDate(price.Date.AddDays(-7 * 52));

我假设 .AddDays(-7 * 52).AddWeeks(-52) 相同,因为一周有 7 天.

最佳答案

正如您在问题中指出的那样,与年和月不同,每周总是恰好有 7 天(无论如何在我的日历上),因此当您只需要做的是 .AddDays(weeks * 7)。尽管当他们有 AddMinutes 和 AddHours 时你不得不质疑逻辑!该死的他们和他们的矛盾之处!

不过,如果它真的困扰你,你总是可以为 .AddWeeks 创建一个扩展方法:

public static class DateTimeExtensions
{
public static DateTime AddWeeks(this DateTime dateTime, int numberOfWeeks)
{
return dateTime.AddDays(numberOfWeeks * 7);
}
}

正如其他人所指出的,一年不是 52 周。

关于c# - 为什么没有 DateTime.AddWeeks(),如何获取 52 周前的 DateTime 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6847346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com