在c#中获得三个月(四分之一)代码

And*_*dré 3 c# windows datetime

我需要获得一个特定日期的通讯三个月(3个月,即第一个,第二个月和第三个月的第一个三个月).使用c#System.DateTime结构我没有设法找到我正在寻找的方法.所以我这样解决了:

DateTime sDeathDate = DateTime.Parse("18/09/1970");
int iDeathTrimester = Convert.ToInt32(Math.Round(Convert.ToDouble(sDeathDate.Month) / 3 + 0.25));
Run Code Online (Sandbox Code Playgroud)

如果有人知道更简单的方法,请回答.

安德烈

Pat*_*ald 12

假设1月 - 3月是妊娠1,4月 - 6月是妊娠2月,7月 - 9月是3个月,10月 - 12月是妊娠4个月,那么你可以使用

int trimester = (sDeathDate.Month - 1) / 3 + 1
Run Code Online (Sandbox Code Playgroud)

这与四分之一相同,你的意思是什么不同?


il_*_*uru 5

Math.Ceiling返回大于或等于指定数字的最小整数。

DateTime sDeathDate = DateTime.Parse("18/11/1970");
int trimester = (int)Math.Ceiling(sDeathDate.Month/3.0);
Run Code Online (Sandbox Code Playgroud)

请注意,代码使用3.0执行浮点除法而不是整数除法