c#中的Get Weekday Month Starts On显示错误的日期



我创建了一个函数来获取星期几,但发生了一些奇怪的事情。检查Class_Global.cs 中的以下代码

public static string GetWeekdayMonthStartsOn(int iMonth, int iYear)
{
    var FirstDay = new DateTime(iYear, iMonth, 1);
    int day = (int)FirstDay.DayOfWeek;
    // just to test
    HttpContext.Current.Response.Write("Date=[" + FirstDay + "]<br>");
    HttpContext.Current.Response.Write("int day of week=[" + day + "]<br>");
    HttpContext.Current.Response.Write("FirstDay Week Name=[" + FirstDay.ToString("dddd") + "]<br>");
    HttpContext.Current.Response.Write("FirstDay Month Name=[" + FirstDay.ToString("MMMM") + "]<br>");
    return day.ToString ();
}

当我从本地主机在test.aspx中运行以下内容时:

    Class_Agenda.GetWeekdayMonthStartsOn(1, 2106);
    Class_Agenda.GetWeekdayMonthStartsOn(2, 2106);
    Class_Agenda.GetWeekdayMonthStartsOn(3, 2106);
    Class_Agenda.GetWeekdayMonthStartsOn(4, 2106);
    Class_Agenda.GetWeekdayMonthStartsOn(5, 2106);

它返回如下wich看起来不错。请注意2016年3月的第一天应该是星期二,而不是星期一。。。。

第一天=[1/1/2106 12:00:00 AM]
第五天=[星期五]
day=[一月]
第一天=[2016年1月12日凌晨00:00]
day=[1]
day=[星期一]
day=[二月]
FirstDay=[3/1/2106 12:00:00AM]
天=[1]
日=[星期一]
天=[三月]<br]第一天>第四天=【星期四】
dayday=【四月】
第一天=【5/1/2106 12:00:00 AM】
day=【6】
day=[星期六]
day=[五月]

如果有人能帮忙,我很感激。

但2106年3月1日是星期一(请参阅:http://www.calendar-12.com/calendar/2106)。

相关内容