1. /// 根据日期,获得星期几 /// 年 /// 月 /// 日 /// 星期几,1代表星期一;7代表星期日 public static int getWeekDay(int y,int m, int d) { if(m==1) m=13; if(m==2) m=14; int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1; return week; } C#的功能很强大,却没有直接提供面向汉字文化的开发倾向 比如我现在要说的获取当前的星期我提供两种方法: ①,DateTime.Now.DayOfWeek ,查询MSDN可以知道该属性返回的结果是: // // 摘要: // 获取此实例所表示的日期是星期几。 // // 返回结果: // 一个 System.DayOfWeek 枚举常数,它指示星期几。该属性值的范围从零(表示星期日)到六(表示星期六)。 public DayOfWeek DayOfWeek { get; } 依据这个我们想见该属性提供了从星期日到星期六的位置,也就是说是枚举,枚举结合数组不就可以提取我们想要的数据了吗!代码如下: public string Week() { string[] weekdays ={ "星期日" ,"星期一" ,"星期二" ,"星期三" ,"星期四" ,"星期五" ,"星期六" }; string week=weekdays[Convert.ToInt32(DateTime.Now.DayOfWeek)]; return week; } 你只要调用该方法:Week()就可以得到当前星期几的汉字表示 Lable1.Text=Week(); ②第二种方法是直接根据星期的数目比较小还可以直接转化,这时候我们可以用switch关键字代码如下: public string Week(string weekName) { string week; switch(weekName) { case "Sunday": week = "星期日"; break; case "Monday": week = "星期一"; break; case "Tuesday": week = "星期二"; break; case "Wednesday": week = "星期三"; break; case "Thursday": week = "星期四"; break; case "Friday": week = "星期五"; break; case "Saturday": week = "星期五"; break; return week; } } 你只要调用该方法:Week(DateTime.Now.DayOfWeek)就可以返会汉字的星期几,Lable1.Text=Week(DateTime.Now.DayOfWeek);