C#根据年月日计算星期几的函数

作者:草下飞 时间:2022-03-17 04:50:50 

DateTime.Now.ToString("dddd",new System.Globalization.CultureInfo("zh-cn"));

今天在网上看见一些关于 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来代入公式计算。
代码如下:


//y-年,m-月,d-日期

string CaculateWeekDay(int y,int m,int d)
 {
   string[] weekstr ={ "日", "一", "二", "三", "四", "五", "六" };

if (m < 3)
   {
     m += 12;
     if (y % 400 == 0 || y % 100 != 0 && y % 4 == 0)
     {
       d--;
     }
   }
   else
   {
     d += 1;
   }
   return "星期" + weekstr[(d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7];

}
标签:C#,年月日,计算,星期几
0
投稿

猜你喜欢

  • 一文详解Reactor模型与实现示例

    2023-11-13 12:22:09
  • Maven如何打入依赖中指定的部分jar包

    2023-09-22 02:50:33
  • Java拦截器Interceptor和过滤器Filte的执行顺序和区别

    2022-06-01 20:37:11
  • Java 使用poi把数据库中数据导入Excel的解决方法

    2022-09-19 14:18:52
  • 解析Spring Mvc Long类型精度丢失问题

    2021-11-06 12:27:37
  • 使用反射方式获取JPA Entity的属性和值

    2023-07-24 17:43:22
  • 轻量级声明式的Http库——Feign的独立使用

    2022-06-05 04:36:19
  • Java 详解包装类Integer与int有哪些共通和不同

    2022-06-15 20:12:18
  • web.xml SpringBoot打包可执行Jar运行SpringMVC加载流程

    2023-11-24 07:40:52
  • 详细聊聊SpringBoot中动态切换数据源的方法

    2023-11-24 04:07:49
  • Java线程状态变换过程代码解析

    2023-08-06 18:05:29
  • Spring Boot加密配置文件特殊内容的示例代码详解

    2023-09-18 08:47:24
  • Java设计模式之装饰者模式详解

    2021-08-16 03:00:17
  • Java多线程之Worker Thread模式

    2021-06-11 12:11:51
  • java实现文件下载的两种方式

    2023-11-11 06:37:14
  • SpringMVC MVC架构与Servlet使用详解

    2023-10-10 15:25:02
  • Spark调优多线程并行处理任务实现方式

    2023-08-21 15:43:53
  • java实现Dijkstra最短路径算法

    2022-11-30 21:02:15
  • Java文件操作之按行读取文件和遍历目录的方法

    2023-11-24 16:58:21
  • 基于Java检查IPv6地址的合法性

    2022-08-05 12:17:17
  • asp之家 软件编程 m.aspxhome.com