2015-04-29 39 views
0

我有DateTimeOffset輸入參數。需要創建其他的DateTimeOffset PARAM哪個月比從輸入減2月份:生成日期時間偏移量

//DateTimeOffset input; 
DateTimeOffset modified = new DateTimeOffset(input.Year, 
input.Month - 2, input.Day, 
input.Hour, input.Minute, 
input.Second, input.Millisecond, 
input.Offset); 

I get an exception 

年,月和日參數描述一個未表示的日期時間。

出了什麼問題? - 這個月是4. S0 4-2 = 2是有效的 謝謝

回答

5

我認爲這個月是一個紅色的鯡魚,它可能更有可能是你的一天是28以上,這意味着你正在試圖創建一個日期,如2月30日(這不存在!)。

使用AddMonths方法,而不是

DateTimeOffset modified = input.AddMonths(-2); 
+0

@Yakov - 這是一個正確的答案,但也意識到,你可能需要調整後偏移。如果您正在使用的時區使用夏令時並且您已經過渡,則可能會出現不同的偏移量。 –