C#基于基姆拉尔森算法计算指定日期是星期几的方法

作者:八大山人 时间:2022-04-28 09:31:25 

本文实例讲述了C#基于基姆拉尔森算法计算指定日期是星期几的方法。分享给大家供大家参考。具体分析如下:

基姆拉尔森计算公式
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
在公式中d表示日期中的日数,m表示月份数,y表示年数。

注意:在公式中有个与其他公式不同的地方:
把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。


#region 根据年月日计算星期几(lblDate.Text=CaculateWeekDay(2010,11,29);)
/// 根据年月日计算星期几(lblDate.Text=CaculateWeekDay(2010,11,29);)
///年
///月
///日
///
public static string CaculateWeekDay(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;
 string weekstr="";
 switch(week)
 {
  case 1: weekstr="星期一"; break;
  case 2: weekstr="星期二"; break;
  case 3: weekstr="星期三"; break;
  case 4: weekstr="星期四"; break;
  case 5: weekstr="星期五"; break;
  case 6: weekstr="星期六"; break;
  case 7: weekstr="星期日"; break;
 }
 return weekstr;
}
#endregion

希望本文所述对大家的C#程序设计有所帮助。

标签:C#,日期,星期
0
投稿

猜你喜欢

  • java基础--自己动手实现一个LRU

    2023-06-25 18:21:04
  • Android 自定义ProgressDialog进度条对话框用法详解

    2022-02-14 19:31:04
  • Java的Spring框架下的AOP编程模式示例

    2023-11-02 00:52:25
  • 详谈@Autowired和static的关系

    2022-06-14 05:51:50
  • C#实现串口调试工具

    2022-06-09 12:04:04
  • java基础之泛型知识点总结

    2021-09-03 21:30:29
  • java 中sendredirect()和forward()方法的区别

    2021-11-07 18:39:28
  • Android的异步任务AsyncTask详解

    2021-10-13 02:58:28
  • Java Floyd算法求有权图(非负权)的最短路径并打印

    2023-04-10 12:53:42
  • 全面总结java IO体系

    2023-05-16 13:19:12
  • Java使用JDBC连接postgresql数据库示例

    2022-11-06 22:49:02
  • Java看完秒懂版熔断和降级的关系

    2023-11-06 01:12:13
  • 使用AccessibilityService实现自动遍历点赞功能

    2023-10-18 16:22:53
  • Android实现自定义华丽的水波纹效果

    2023-10-03 23:12:50
  • java 装饰模式(Decorator Pattern)详解及实例代码

    2023-09-07 03:13:08
  • 继承JpaRepository后,找不到findOne()方法的解决

    2022-08-26 18:33:26
  • Unity脚本自动添加头部注释的全过程

    2021-06-09 08:38:20
  • Spring中@Scheduled和HttpClient的连环坑

    2023-10-19 23:06:00
  • Java反转数组输出实例代码

    2023-09-04 22:18:48
  • Java封装公共Result结果返回类的实现

    2023-06-17 08:47:47
  • asp之家 软件编程 m.aspxhome.com