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
代码如下:
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
在开发网站的过程中,如开发新闻网站、论坛、聊天室等,都需要获取当前系统日期,本实例介绍如何获取系统日期并将系统日期用不同的格式显示出来。实例运行结果如图7.1所示。
获取当前系统日期并将其转化为短日期格式的代码如下:
Label1.Text = System.DateTime.Now.ToShortDateString();
获取当前系统日期并将其转化为长日期格式的代码如下:
Label2.Text = System.DateTime.Now.ToLongDateString();
注意:DateTime对象中的Now属性可以用DateTime对象中的Today属性代替,DataTime.Now属性与DataTime.Today属性都是用来获取当前系统时间的。
在开发游戏类网站时,往往需要将玩家的闯关时间记录下来,设立排行榜,增强游戏的趣味性。本实例将会介绍如何获取当前系统时间并将其格式化。实例运行结果如图7.2所示。
获取当前系统时间并将其转化为短时间格式的代码如下:
Label1.Text = System.DateTime.Now.ToShortTimeString();
获取当前系统日期并将其转化为长日期格式的代码如下:
Label2.Text = System.DateTime.Now.ToLongTimeString();
一些网站的首页会将当前系统日期和时间都显示出来,以美化网站。本实例介绍如何同时获得系统当前日期和时间。实例运行结果如图7.3所示。
同时获得系统当前日期和时间的代码如下:
Label1.Text = DateTime.Now.ToString();
在本实例中,主要实现的是使用DateTime结构的DayofWeek属性来获取当前日期是星期几,并将返回指定日期是星期几的英文单词转化为相应的汉字。代码如下:
public static string dt;
public static string week;
protected void Button1_Click(object sender, EventArgs e)
{
//获取当前日期是星期几
dt = DateTime.Today.DayOfWeek.ToString();
//根据取得的英文单词返回汉字
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;
}
//利用TextBox文本框显示当前日其为星期几
TextBox1.Text = week;
}
}
本实例主要是获取指定年份中的天数,首先使用DateTime结构的Year属性来取得年份,然后根据DateTime结构的IsLeapYear方法来判断取得年份是否为闰年,如果为闰年,则显示“366天”,否则显示“365天”。代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
//判断是否是闰年
if (DateTime.IsLeapYear(Convert.ToInt32(DateTime.Now.Year.ToString())))
{
//如果是闰年
TextBox1.Text = "366";
}
else
{
//如果不是闰年
TextBox1.Text = "365";
}
}
本实例主要获取当前月的天数,使用DateTime结构的Year和Month属性取得当前日期所在的年和月,然后在switch语句中根据不同的年份和月份返回指定月份的天数。代码如下:
public static int year;
public static int month;
public static int days;
protected void Button1_Click(object sender, EventArgs e)
{
year = DateTime.Now.Year;
month = DateTime.Now.Month;
//得到当前月的天数
switch (month)
{
case 1:
days = 31;
break;
case 2:
if (DateTime.IsLeapYear(year))
{
//闰年二月为29天
days = 29;
}
else
{
//不是闰年,二月为28天
days = 28;
}
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
}
TextBox1.Text = days.ToString();
}
本实例主要实现“取得当前日期的前一天”功能,使用了DateTime结构的AddDays方法,在指定的DateTime实例的值上加上“-1”天取得所要的结果。代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Text = DateTime.Now.AddDays(-1).ToString();
}
在DataTime结构中,与AddDays方法实现功能相类似的方法如表7.1所示。
表7.1 将日期格式化为指定格式常用方法
方 法 名 称
说 明
Add
将指定的TimeSpan的值加到实例的值上
AddHours
将指定的小时数加到实例的值上
AddMilliseconds
将指定的毫秒数加到实例的值上
AddMinutes
将指定的分钟数加到实例的值上
AddMonths
将指定的月份数加到实例的值上
AddSeconds
将指定的秒数加到实例的值上
AddYears
将指定的年份加到实例的值上
TimeSpan对象表示时间间隔或持续时间,按正负天数、小时数、分钟数、秒数以及秒的小数部分进行度量。在本实例中,首先定义了两个时间dateTime1和dateTime2,并分别为其赋值,然后定义了一个TimeSpan对象,并将dateTime1和dateTime2之间的时间间隔赋给TimeSpan对象。代码如下:
DateTime dateTime1 = DateTime.Parse(DateTime.Now.AddSeconds(30).ToString());
DateTime dateTime2 = DateTime.Parse(DateTime.Now.ToString());
TimeSpan timeSpan = dateTime1 - dateTime2;
TextBox1.Text =timeSpan.ToString();
//-----------------------------------------------------------------------------------------------------------
一周从周日算起
DateTime mDatetime=new DateTime(year,1,1);//year为要求的那一年
int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几
days=(double)(6-firstweekfirstday);
DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一
fisrtday=MDatetime.AddDays(week*7);//第N周第一天
lastday=MDatetime.AddDays(week*7+6);//第N周最后一天
一周从周一算起
DateTime mDatetime=new DateTime(year,1,1);//year为要求的那一年
int firstweekfirstday=Convert.ToInt32(mDTime.DayOfWeek);//一年中第一天是周几
days=(double)(7-firstweekfirstday);
DateTime secondweekfisrtday=mDTime.AddDays(days);第二周一
fisrtday=MDatetime.AddDays(week*7);//第N周第一天
lastday=MDatetime.AddDays(week*7+6);//第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,0,(7*weekNum));
var FD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+1))
var Monday=FD.getYear()+"-"+(FD.getMonth()+1)+"-"+FD.getDate()//一周的第一天
var LD=new Date(date.getYear(),(date.getMonth()),(date.getDate()-date.getDay()+7))
var Sunday=LD.getYear()+"-"+(LD.getMonth()+1)+"-"+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="2007" size="20" name="year">年<input type="text" name="weekNum" value="30" size="20">
<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));
}
转载于:https://www.cnblogs.com/Xujg/p/3969513.html
C#实现的根据日期得到今天是星期几相关推荐
- JS判断日期是否在同一个星期内,和同一个月内
今天要用到判断日期是否在同一个星期内和是否在同一个月内,在网上找了好一会儿也没找到合适的,然后自己写了一个方法来处理这个问题,思路就不详细介绍了,直接附上代码,自己测试了一下 没有问题,若有问题请在评 ...
- Excel函数之~计算日期、天数、星期
计算日期.天数.星期的函数 1.EDATE 2.EOMONTH 3.WORKDAY 4.NETWORKDAYS 5.DATEDIF 6.YEARFRAC 7.WEEKNUM 1.EDATE 函数定义: ...
- 由一个日期, 怎样知道是星期几?
由一个日期, 怎样知道是星期几? 用mktime() 或localtime() (如果tm hour 的值位0,要注意DST (夏时制) 的调整); 或者Zeller 的congruence; 或者这 ...
- java 20008年月历输出 日期的个位与星期数相等 的日子
/** To change this template, choose Tools | Templates* and open the template in the editor.* 20008年月 ...
- 日历 android 周历,Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理...
Android Studio 基础 之 获取系统Calendar 日历日程 (涉及指定日期时间判断是星期几的方法使用)的方法整理 目录 Android Studio 基础 之 获取系统Calendar ...
- 月份加日期前面用on还是in_英语句子日期、月份和星期前面各应该加in还是on?如题.可以的话,帮...-星期前面用on还是in-英语-郑谒牡同学...
概述:本道作业题是郑谒牡同学的课后练习,分享的知识点是星期前面用on还是in,指导老师为农老师,涉及到的知识点涵盖:英语句子日期.月份和星期前面各应该加in还是on?如题.可以的话,帮...-星期前面 ...
- 修改Windows10电脑日期时间格式显示星期
鼠标右键[个性化],在弹出界面左键点击[任务栏],在"任务栏"界面找到[打开或关闭系统图标]按钮,在弹出的界面中即可控制任务栏部分图标的显示与否.以[时钟]为例,点如下图所示&qu ...
- Java日期格式转换成星期几
日期格式YYYY-MM-DD: //Java日期格式转换成星期几 yyyy-MM-ddpublic static String dateToWeek(String datetime) throws P ...
- Android Studio 基础 之 获取系统Calendar 日历日程(可获得当天以后可设定天数范围内的日历日程) (涉及指定日期时间判断是星期几的方法使用)的方法整理
Android Studio 基础 之 获取系统Calendar 日历日程(可获得当天以后可设定天数范围内的日历日程) (涉及指定日期时间判断是星期几的方法使用)的方法整理 目录 Android St ...
- mysql 输出当前月所有日期与对应的星期
其实可以用存储过程,但想用另一种方法实现: 首先创建一个辅助表,可以设置CREATE TABLE `t4` (`id` int(11) NOT NULL AUTO_INCREMENT,`num` in ...
最新文章
- 在 Spring Boot 中,如何干掉 if else!
- Win10系统下软件UI显示不完整解决方案
- 160个Crackme025之巧去Neg
- Windows10 安装 Twisted
- 通常每个套接字地址只允许使用一次
- 谷歌浏览器检查更新时出错:无法启动更新检查(错误代码为 3: 0x80080005 -- system level)
- TCP/IP 和 TCP/IP的 三/四次握手
- oracle 数据库汉字乱码
- 证券公司财务帐单分析报告自动生成系统
- java从本地下载pdf文件_java下载PDF文件
- JAVA短信验证码接口API
- cluster-proportional-autoscaler源码分析及如何解决KubeDNS性能瓶颈
- java 实现word文档的在线签批圈阅(手写批注)
- Android MediaPlayer使用注意
- socket编程基础知识
- c++ 双人五子棋(可直接复制)
- QStackWidget使用 踩坑
- 优秀录屏工具:Screenium 3 for Mac
- 触摸屏 tsc2007驱动框架
- 【Unity】DnSpy断点调试Unity已发行游戏的dll