C# 如何在日期(datetimeoffset格式)中执行乘法
我有以下3个字段C# 如何在日期(datetimeoffset格式)中执行乘法,c#,datetime,C#,Datetime,我有以下3个字段 开始日期,到期日期,月数 startingdate = DateTimeOffset.Now; 和月数,例如24month 如何计算到期日=? 有人能给我一个主意吗?在这种情况下,你不需要乘法,只需要加法,指定单位: DateTimeOffset startDate = DateTimeOffset.Now; DateTimeOffset expiryDate = startDate.AddMonths(months); 有两点需要注意: 日期和时间算术可以是奇数。在你的
开始日期
,到期日期
,月数
startingdate = DateTimeOffset.Now;
和月数,例如24
month
如何计算到期日=?
有人能给我一个主意吗?在这种情况下,你不需要乘法,只需要加法,指定单位:
DateTimeOffset startDate = DateTimeOffset.Now;
DateTimeOffset expiryDate = startDate.AddMonths(months);
有两点需要注意:
- 日期和时间算术可以是奇数。在你的例子中,它不太可能比正常情况更奇怪,因为你有2年的时间,所以唯一的极端情况是2月29日加2年,2月28日;通常你需要考虑(比如说)增加1个月到8月31日和9月30日。换句话说,仅仅因为两个到期日相同并不意味着它们来自同一个起始日期 <> LI>您可能需要考虑使用<代码> DeTeMeOffice。UtcNow < /代码>,并在UTC中执行所有操作,而不是使用本地时区。使用
DateTimeOffset
而不是DateTime
在某种程度上保护您免受时区问题的影响,但将所有内容保持在UTC更为清晰
在这种情况下,您不需要乘法,只需要加法,指定单位:
DateTimeOffset startDate = DateTimeOffset.Now;
DateTimeOffset expiryDate = startDate.AddMonths(months);
有两点需要注意:
- 日期和时间算术可以是奇数。在你的例子中,它不太可能比正常情况更奇怪,因为你有2年的时间,所以唯一的极端情况是2月29日加2年,2月28日;通常你需要考虑(比如说)增加1个月到8月31日和9月30日。换句话说,仅仅因为两个到期日相同并不意味着它们来自同一个起始日期 <> LI>您可能需要考虑使用<代码> DeTeMeOffice。UtcNow < /代码>,并在UTC中执行所有操作,而不是使用本地时区。使用
DateTimeOffset
而不是DateTime
在某种程度上保护您免受时区问题的影响,但将所有内容保持在UTC更为清晰
真的吗?你找不到AddMonths?哦,为什么我没看到,…实际上我是个初学者真的吗?你找不到AddMonths?哦,为什么我没有看到,…实际上我是个初学者