回答
我可以建议的最好的方法是获取总天数,然后通过相应的除以大致计算月数。喜欢的东西:
DateTime dt1 = new DateTime(2010, 10, 23);
DateTime dt2 = new DateTime(2010, 7, 23);
TimeSpan ts = dt1 - dt2;
int days_per_month = 30;
Console.Write(ts.TotalDays/days_per_month);
如果你真的是没事的东西,如2010年2月,第1 - 2010年01月31,传回1每月的答案,然后给上面的代码,你将能够获得在这一点很容易通过使用
Console.Write(dt1.Month - dt2.Month);
这没有考虑到年,所以我在这里按照其他答案。 :)
如果你不知道如何计算在.NET这里日期跨度是很好的例子:
DateTime startTime = DateTime.Now; DateTime endTime = DateTime.Now.AddSeconds(75); TimeSpan span = endTime.Subtract (startTime); Console.WriteLine("Time Difference (seconds): " + span.Seconds); Console.WriteLine("Time Difference (minutes): " + span.Minutes); Console.WriteLine("Time Difference (hours): " + span.Hours); Console.WriteLine("Time Difference (days): " + span.Days);
来源:here 。
DateTime不公开每月的差异,因为每个月都有不同的天数。获取月份的最简单方法是totaldays/30
。
为什么如此之多的票?这不做什么是必需的! – 2010-02-10 05:11:47
不得不同意...这个问题并不十分清楚,但这大大地忽略了这个标记,它只是Google第一次为问题的确切文本命中而进行的透明复制和粘贴作业。 -1。 – Aaronaught 2010-02-10 05:48:54
既然你已经知道你的日期将是第一个月:
int totalMonths = (date2.Year - date1.Year)*12 + date2.Month - date1.Month;
鉴于你已经到你原来的问题所作的更新:如何编写一个函数,它有两个日期,并执行以下,
DateTime d1 = new DateTime(2008, 12, 1);
DateTime d2 = new DateTime(2009, 1, 1);
var month_diff = (d2.Year - d1.Year)*12 + (d2.Month - d1.Month);
Console.WriteLine(month_diff);
- 1. sql server中两个日期之间的月份差异
- 2. 两个日期之间的月份差异计算lastdate月
- 3. 两个月之间的月份差异
- 4. PHP在两个日期之间的月份差异?
- 5. 为什么这种方法不能获得两个日期之间的差异?
- 6. 计算两个datetime.date()日期之间在年份和月份之间的差异
- 7. 找出两个正整数之间差异的最简单方法是什么?
- 8. 如何在MySQL中获得两个日期值的差异,结果是月份?
- 9. 两个日期之间的月份差异 - yyyymm格式
- 10. 获取年份中两个日期之间的差异
- 11. PHP:最简单的方法是在第一个月的6个月之前获取月份的日期?
- 12. 在Android的两个日期之间差异的(年,月,日)
- 13. 如何获得PHP中两个日期之间的差异?
- 14. 如何获得两个日期之间的星期差异
- 15. 两个日期之间的星期/月的差异
- 16. 减去两个日期以获得月份差异
- 17. 如何获得两个日期之间的月份集合?
- 18. 在两个日期之间的差异
- 19. 在C#中的两个日期之间的差异#
- 20. 将最大日期范围描述中的两个日期之间的差异显示的最简单方法是什么?
- 21. 年份中两个日期之间的Pythonic差异?
- 22. 如何找到两个日期之间的年份和月份差异?
- 23. 如何获得PHP中两个日期之间的绝对日期差异?
- 24. 计算两个日期之间的差异并获得年份的值?
- 25. PHP DateInterval:两个不同月份中的同一日期之间的差异不是一个月
- 26. 在JavaScript中使用年,月,日的两个日期之间的差异
- 27. 比较两个日期并获得年,月,日的差异
- 28. javascript中的月份日期差异
- 29. 什么是获得记录的列之间的差异最好的方法
- 30. Linq查询与2个日期之间的月份差异
你应该明确你的意思是'月的差异'。例如,您是否希望2010年1月31日至2010年2月1日的差异为1个月? – 2010-02-10 04:57:52
是的,我希望它是在这种情况下1个月的差异。 我的要求规定date1和date2将始终是给定月份中的第一个。谢谢! – 2010-02-10 05:02:00
我用评论更新了我的答案,并且实际上会根据给出的这些新信息更新我的答案文本。 – Dave 2010-02-10 05:30:48