gpt4 book ai didi

c# - 在 DateTime 对象中设置年份

转载 作者:行者123 更新时间:2023-11-30 13:09:03 25 4
gpt4 key购买 nike

我如何才能只更改日期时间对象中的年份?

我需要从excel中调用多个日期,如果我调用的日期在今天日期之前,则将年份设置为2099。

例如被调用的日期:15/11/2010 需要设置为15/11/2099

这可行吗?还是最好更改整个日期?

最佳答案

你只需要创建一个新的 DateTime 因为 DateTime 是一个不可变的结构:

DateTime newDt = new DateTime(2099, dt.Month, dt.Day);

如果你想处理闰年问题(源日期是闰年但目标年份不是),你可以使用以下扩展方法:

public static DateTime ChangeYear(this DateTime dt, int newYear)
{
return dt.AddYears(newYear - dt.Year);
}

这甚至会保留 TicksKind , 所以它比使用 DateTime 构造函数更好。如果原始日期时间是 02/29/2016(闰年),它将返回 02/28/2099

你可以这样使用它:

DateTime dt = new DateTime(2016, 2, 29);
DateTime newDt = dt.ChangeYear(2099);

关于c# - 在 DateTime 对象中设置年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805583/

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