在c#中,如何给定一个日期,求出该日为星期几?

2024-11-27 20:27:40
推荐回答(5个)
回答1:

% 7:(days % 7)是为了求出所求日期与1900年1月1日相差天数除去整星期数(7天为一星期)后剩余的天数,比如说要求的数为1900年1月13日,那么days就为12,出去整星期数后剩余5天,至于后面加1是因为1900年1月1日是星期一,再除以7则为了求出1900年1月13日为星期几。这个你最好多带具体时间进去慢慢体会,不大好用文字表现出来
date =((days % 7) + date ) % 7,中加的date是你输入年份的1月1日是星期几,其余的与1中形同
至于for(m = 1; m<12 ; m++) 12个月为什么不是m<=12呢 ,是因为一年当中我们最多只需要找到12月13日,它与当年1月1日相差的天数根本没用到12月具体有多少天,所以没必要让m<=12.

不知道说明白没有,慢慢体会,多带某一具体年份日期进去更方便你理解 加油!!!

回答2:

using System.Globalization;

ChineseLunisolarCalendar cls = new ChineseLunisolarCalendar();
DateTime dt= cls.ToDateTime(2010, 1,1, 0, 0, 0, 0);

注意:碰到诸如闰月的情况,则润月后面的月份自动加一,既2009年润五月,则闰五月为6月,后面的月加一处理,实例中的运行结果为2010-2-14

回答3:

DateTime.Now.DayOfWeek;
这个方法是获得星期,返回值是英文的星期枚举。
如需变换格式,可以转为数值,再另行判断。
(int)DateTime.Now.DayOfWeek;

下面这个方法可以将星期转为中文:
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetDayName(DateTime.Now.DayOfWeek);

回答4:

string m_Time = DateTime.Now.ToLongDateString();
//获取当前日期是星期几
string dt = DateTime.Now.DayOfWeek.ToString();
string week="";
//根据取得的星期英文单词返回汉字

switch (dt)
{
case "Monday":
week = "星期一";
break;
case "Tuesday":
week = "星期二";
break;
case "Wednesday":
week = "星期三";
break;
case "Thursday":
week = "星期四";
break;
case "Friday":
week = "星期五";
break;
case "Saturday":
week = "星期六";
break;
case "Sunday":
week = "星期日";
break;

}

LaShowTime.Text = m_Time + " " + week;

回答5:

string datetime = "2011-3-4";
(DateTime.Parse(datetime)).DayOfWeek;