我想创建一个 Calendar
,但是 MonthDisplayHelper
返回不正确的值(31 表示 2013 年 2 月,即 28 天)。我做错了什么?
DateTime mRightNow = DateTime.Now;
MonthDisplayHelper mHelper = new MonthDisplayHelper(mRightNow.Year, mRightNow.Month, 2);
Log.Info("cal", mHelper.NumberOfDaysInMonth);
您正在混合使用 .Net 和 Java DateTime 类!
.净月从1开始
Java 月份是从 0 开始的
所以 DateTime.Now 是 .Net 并在第二个月(二月)的某一天返回
但是 MonthDisplayHelper 在 Java 中,因此将 2 解释为第 3 个月(三月)
使用 mRightNow-1 修复此问题
也许考虑使用扩展方法使其更具可读性
public static class JavaDateTimeExtensions
{
public static int JavaMonth(this DateTime input)
{
return input.Month - 1;
}
}
我是一名优秀的程序员,十分优秀!