c#获取当前年的周数及当前月的天数示例代码
发布时间:2021-10-04 09:42:19
获取当前年的周数
/// <summary>
/// 获得今年有几周
/// </summary>
/// <param name="year"></param>
/// <returns></returns>
public int GetWeekOfYear(int year)
{
DateTime the_Date = new DateTime(year,1,1);//本年的第一天
TimeSpan tt=the_Date.AddYears(1)-the_Date;//求出本年有几天
return tt.Days / 7 + 1; //因为年只有366天和365天除以7有余数所以始终需要加一周
}
获取当前月的天数
第一种:
DateTime dt = new DateTime(2007, 1, 1);
//在.net中内部处理是减去+1后的月份得到当前月的天数(实际上这种方式是算出他们的差)例如:
//当前月是2007年1月1日,通过AddMonths方法加一个月是2007年2月1日,在.net中将算出它们间隔多少天.
//所以我们可以利用这种方法来求出当前月有几天
TimeSpan tt = dt.AddMonths(1) - dt;
// DateTime dt = new DateTime(2007,1,31); 如果时间是2007,1,31加一个月减当前月就不行,看下面解释:
/*比如说给你做一个项目,2010-01-01给你做的,一个月做完,就是2010-02-01交付
现在2010-01-31号给你做,也是要求一个月做完,本来是应该在2010-02-31号交付的,但是2月没有31号,所以交付的时间就变成2010-02-28号了
AddMonths只是增加一个月的时间*/
Response.Write(tt);
第二种:
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();
}
protected void Page_Load(object sender, EventArgs e)
{
int day=GetWeekDay(2010,11);
if (day != 0)
{
Response.Write(day);
}
}
public int GetWeekDay(int year,int month)
{
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 2:
if (DateTime.IsLeapYear(year))
return 29;
else
return 28;
case 4:
case 6:
case 9:
case 11:
return 30;
default:
return 0;
}


猜你喜欢
- 一、Elasticseach介绍1.简单介绍官网:开源搜索:Elasticsearch、ELK Stack 和 Kibana 的
- 本文实例为大家分享了Android实现弹幕效果的具体代码,供大家参考,具体内容如下首先分析一下,他是由三层布局来共同完成的,第一层视频布局,
- 提示:这里可以添加本文要记录的大概内容:例如:一般系统前端调用后台相关功能接口时,需要验证此时用户的权限是否满足调用该接口的条件,因此我们需
- Java中的引用类型有哪几种?Java中的引用类型分成 强引用 , 软引用 , 弱引用 , 虚引用 。1、强引用没有引用指向这个对象,垃圾回
- 前言最近接手了一个老项目,“愉悦的心情”自然无以言表,做开发的朋友都懂,这里就不多说了,都是泪...
- 公钥与私钥公钥与私钥是成对的,一般的,我们认为的是公钥加密、私钥解密、私钥签名、公钥验证,有人说成私钥加密,公钥解密时不对的。公钥与私钥的生
- 在Java中可以使用HttpServer类来实现Http服务器,该类位于com.sun.net包下(rt.jar)。实现代码如下:主程序类p
- 本文实例讲述了Android获取当前已连接的wifi信号强度的方法,是Android程序开发中非常常见的重要技巧。分享给大家供大家参考之用。
- 我就废话不多说了,大家还是直接看代码吧~<resultMap id="ParentMap" type="
- 简单工厂模式解释: 简单工厂模式(Simple Fact
- 本文接上文“java反射之方法反射的基本操作方法”,利用反射了解下java集合中泛型的本质1、初始化两个集合,一个使用泛型,一个不使用Arr
- 温故而知新网上说多进程的文章很多,不过基本都是在讨论很深的东西,这是需要去专研的,而我是来这篇是用来偷懒的(应用层次),记录的都是自己对多进
- SQLite毕竟是在手机上的数据库,开发者想在电脑上看还是比较烦恼,但相信大多数对navicat有所耳闻,我用的navicat 12就觉得数
- 问题开发过程中,发现服务提供者抛出了自定义的BusinessException,到了消费者这边,却变成了RuntimeException。客
- 把C#编译成DLL或者Axtive控件,再由C调用!比如使用C++调用C#的DLL。SwfDotNet是.net下输出flash的类库。Sw
- 一、迭代key&value第一种方式:迭代entrySet1.方法一/** * entrySet集合for-each循环(
- Hook实现Android 微信、陌陌 、探探位置模拟 最近需要对微信,陌陌等程序进行位置模拟 实现世界各地发朋友圈,搜索附近人的
- 这篇文章主要从以下几个方面来介绍。简单介绍下jersey,springboot,重点介绍如何整合springboot与jersey。什么是j
- 一、项目简述功能: 系统分为三个角色。最高权限管理员,学生,教师,包括 学生管理,教师管理,课程管理,选课,退课,成绩查 询。,教学课程,查
- 说明:在阅读本篇文章之前建议大家先详细学习一下spring的相关知识,有助于更深刻的理解spirngboot的配置原理。一、什么是sprin