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来代入公式计算。
但是在测试的时候发现有点出入,就是公式存在一点问题,得稍做修改:
W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 +1
#region 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);)
/// <summary>
/// 根据年月日计算星期几(Label2.Text=CaculateWeekDay(2004,12,9);)
/// </summary>
/// <param name="y">年</param>
/// <param name="m">月</param>
/// <param name="d">日</param>
/// <returns></returns>
public static string CaculateWeekDay(int y,int m, int d)
{
if(m==) m=;
if(m==) m=;
int week=(d+*m+*(m+)/+y+y/-y/+y/)%+;
string weekstr="";
switch(week)
{
case : weekstr="星期一"; break;
case : weekstr="星期二"; break;
case : weekstr="星期三"; break;
case : weekstr="星期四"; break;
case : weekstr="星期五"; break;
case : weekstr="星期六"; break;
case : weekstr="星期日"; break;
} return weekstr;
}
#endregion
一周从周日算起
DateTime mDatetime=new DateTime(year,,);//year为要求的那一年
int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几
days=(double)(-firstweekfirstday);
DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一
fisrtday=MDatetime.AddDays(week*);//第N周第一天
lastday=MDatetime.AddDays(week*+);//第N周最后一天 一周从周一算起
DateTime mDatetime=new DateTime(year,,);//year为要求的那一年
int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几
days=(double)(-firstweekfirstday);
DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一
fisrtday=MDatetime.AddDays(week*);//第N周第一天
lastday=MDatetime.AddDays(week*+);//第N周最后一天 javascript:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
function showDateCount(year,weekNum){
var date=new Date(year,,(*weekNum));
var FD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+))
var Monday=FD.getYear()+"-"+(FD.getMonth()+)+"-"+FD.getDate()//一周的第一天 var LD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+))
var Sunday=LD.getYear()+"-"+(LD.getMonth()+)+"-"+LD.getDate() //一周的最后一天
alert(year+"年第"+weekNum+"周是"+Monday+"至"+Sunday)
}
</SCRIPT>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
<input type="text" value="" size="" name="year">年<input type="text" name="weekNum" value="" size="">
<input type="button" name="GO" value="Click" onClick="showDateCount(year.value,weekNum.value)"> </BODY>
</HTML> c#
//monthCalendar1是日历控件
System.Globalization.ChineseLunisolarCalendar c = new ChineseLunisolarCalendar();
private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
{
DateTime MySelectDate = e.End;
txt_nonglidate.Text = string.Format(CultureInfo.InstalledUICulture, "{0}-{1}-{2}", c.GetYear(MySelectDate), c.GetMonth(MySelectDate), c.GetDayOfMonth(MySelectDate));
}
C#实现的根据日期得到今天是星期几的更多相关文章
- JS判断日期是否在同一个星期内,和同一个月内
今天要用到判断日期是否在同一个星期内和是否在同一个月内,在网上找了好一会儿也没找到合适的,然后自己写了一个方法来处理这个问题,思路就不详细介绍了,直接附上代码,自己测试了一下 没有问题,若有问题请在评 ...
- js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子
JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var ...
- mysql 输出当前月所有日期与对应的星期
其实可以用存储过程,但想用另一种方法实现: 首先创建一个辅助表,可以设置CREATE TABLE `t4` ( `id` ) NOT NULL AUTO_INCREMENT, `num` ) DEFA ...
- extjs4.0下的日期控件的星期显示为y的解决办法
没有修改的时候的问题: 今天第一次写博客,就记录一下以前extjs4.2下运用日期组件的星期显示问题,当时找了n久,可能是extjs4.2才出来没多久,没有多少人发现这个问题或者说很少有人将Extjs ...
- JS日历,可获得指定日期周数及星期几
需求来自一个朋友:编写一个简易日历.在文本框中输入要查找的日期,程序可以计算出这一天处在该年份的第几周,并且能判断出这一天到底是星期几. 应为要有交互,选择了Js来实现,也算是 结对编程 的初试吧. ...
- mysql select日期格式
mysql表中datatime类型存储为2016-01-10,C#直接select 后,在datatable里面看,变成01/10/2016,需要还原回去,使用select DATE_FORMAT(列 ...
- 在MonthCalendar控件中选中日期
Calendar.MONTH Calendar now=Calendar.getInstance();System.out.print(now.get(Calendar.MONTH));得到的月份少1 ...
- Swift根据日期字符串返回日期是星期几
最近在做的一个IOS项目中需要根据日期得出日期代表的是星期几,日期以字符串的形式获得,于是该方法可以简单描述如下: /* * 根据日期格式字符串返回日期代表星期几 * 参数:dateTime,字符串类 ...
- 日期函数(sql)
SQL 标量函数----->日期函数 day() .month().year().2009年02月23日 星期一 11:30 SQL 标量函数----->日期函数 day() .month ...
随机推荐
- hscan扫描工具
在网上发现一篇关于hscan工具的介绍 文章来源: http://book.51cto.com/art/200810/94967.htm 2.4.3 使用HScan获取信息案例 HScan是一款优秀 ...
- python debug小技巧&&工程能力的几点建议
Debug小技巧: 转载请声明本文的引用出处:仰望大牛的小清新 1.初次编程时,在每一个if后面都写上else,这样,如果你的else原本是不应该运行的,那么就可以在else中输出此时的状态信息便于排 ...
- Xamarin XAML语言教程构建ControlTemplate控件模板 (二)
Xamarin XAML语言教程构建ControlTemplate控件模板 (二) (2)打开MainPage.xaml文件,编写代码,将构建的控件模板应用于ContentView中.代码如下: &l ...
- 后门工具dbd
后门工具dbd dbd功能类似于Netcat,但提供强大的加密功能,支持AES-CBC-128和HMAC-SHA1加密.该工具可以运行在类Unix和Windows系统中.渗透测试人员首先使用该工具 ...
- 微信小程序开发教程(五)开发框架:MINA
微信团队为小程序提供的框架命名为MINA应用框架.MINA框架通过封装微信客户端提供的文件系统.网络通信.任务管理.数据安全等基础功能,对上层提供一整套JavaScript API,让开发者能够非常方 ...
- BUG:Yii登录时 101 net::ERR_CONNECTION_RESET
Bug描述:YII web入口登录,无法登录一直等待,最终重定向 原因:设置的默认路由DefauRoute中的控制器中有错误,导致无法跳转找指定的路由规则 解决方案:这就多亏了SourceTree了, ...
- new beginning
新的一年开始. BLOG搬到CNBLOG. 往事太匆匆, 一切终成风. 他日再相逢, 依旧笑语中. -----AT.Y
- iOS使用CoreData实现收藏功能
一般做收藏都是使用数据库或者归档,使用CoreData实现收藏功能就是没事时练一下,实现大概和数据库差不多. 首先创建一个工具类继承NSObject,在里面实现所需要的方法. 工具类的.h文件: ty ...
- 阿里云(ECS)Linux客户端SSH会话连接超时OperationTimedOut
问题描述:使用SecureCRT等SSH客户端连接Linux服务器时,提示Operation timed out. 问题原因:SSH服务未配置或注释掉向SSH客户端连接会话发送频率和时间. 解决方法: ...
- CSS3:图片水平垂直居中
加上这两个就行 display:-webkit-box; 显示成盒子模式 -webkit-box-align:center; 垂直居中 -webkit-box-pack:center; ...