C#如何获取指定周的日期范围
1. 不允许跨年
1) 第一周的第一天从每年的第一天开始,最后一周的最后一天为每年的最后一天。
static void Main(string[] args)
{
DateTime first, last;
, , , };
, , };
foreach (int y in years)
{
foreach (int w in weeks)
{
bool result = CalcWeekDay(y, w, out first, out last);
Console.WriteLine("{0}第{1}周({2:yyyy-MM-dd} ~ {3:yyyy-MM-dd}) --{4}", y, w, first, last, result);
}
Console.WriteLine();
}
}
public static bool CalcWeekDay(int year, int week, out DateTime first, out DateTime last)
{
first = DateTime.MinValue;
last = DateTime.MinValue;
//年份超限
|| year > ) return false;
//周数错误
|| week > ) return false;
//指定年范围
DateTime start = , );
DateTime end = , );
int startWeekDay = (int)start.DayOfWeek;
)
{
first = start;
last = start.AddDays( - startWeekDay);
}
else
{
//周的起始日期
first = start.AddDays(( - startWeekDay) + (week - ) * );
last = first.AddDays();
if (last > end)
{
last = end;
}
}
return (first <= end);
2) 程序执行结果
2. 允许跨年
1) 每年的尾周剩余天数计入下一年第一周。
public static bool CalcWeekDay(int year, int week, out DateTime first, out DateTime last)
{
first = DateTime.MinValue;
last = DateTime.MinValue;
//年份超限
|| year > ) return false;
//周数错误
|| week > ) return false;
//指定年范围
DateTime start = , );
DateTime end = , );
int startWeekDay = (int)start.DayOfWeek;
//周的起始日期
first = start.AddDays(( - startWeekDay) + (week - ) * );
last = first.AddDays();
//结束日期跨年
return (last <= end);
}
2) 程序执行结果
C#如何获取指定周的日期范围的更多相关文章
- js获取一周前日期
项目中需要设定默认开始时间为一周前,结束时间为现在,现在写一下如何用js获取一周前日期. 1 var time=(new Date).getTime()-7*24*60*60*1000; 2 var ...
- PHP获取一周的日期
/** * 获取一周日期 * @param $time 时间戳 * @param $format 转换格式 */ function get_week($time, $format = "Y- ...
- c#获取指定时区的日期
1.首先将服务器的时间转化为utc时间,然后转换成指定时区的日期 public DateTime GetSpecificZoneNowDate(string zoneName = "Chin ...
- C#获取指定月指定周的日期范围
); MessageBox.Show(end.ToShortDateString());
- js获取一周的日期范围
function getWeek() { this.nowTime = new Date(); this.init = function() { this.dayInWeek = this.nowTi ...
- python获取指定星期的日期
- moment获取2周后日期
moment().add('days',14).format('YYYY年MM月DD日');
- js日期计算及快速获取周、月、季度起止日,获取指定日期周数以及星期几的小例子
JS获取日期时遇到如下需求,根据某年某周获取一周的日期.如开始日期规定为星期四到下一周的星期五为一周. 格式化日期: function getNowFormatDate(theDate) { var ...
- C#获取指定日期为一年中的第几周
/// <summary> /// 获取指定日期,在为一年中为第几周 /// </summary> /// <param name="dt">指 ...
随机推荐
- fastreport代码转
2016-07-08 //打印主从表数据 string file = Application.StartupPath @"\MasterDetail.frx"; rptMaster ...
- div+CSS实现段落首行缩进两个字符
段落前面空两个字的距离,不要再使用空格了,用CSS实现段落首缩进两个字符.应该使用首行缩进text-indent.text-indent可以使得容器内首行缩进一定单位.比如中文段落一般每段前空两个汉字 ...
- 新手如何学习java(java学习建议路线图)
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西: 首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA). ...
- 在 AngularJS 中将 XML 转换为 JSON
在这篇文章中,我们将谈谈如何在Angular JS中将XML文件转换为JSON.大家都知道Angular JS是开发应用程序的JavaScript框架.所以基本上Angular JS期望得 到的响应 ...
- PHP函数 mysql_real_escape_string 与 addslashes 的区别
addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢? 首先,我们还是从PHP手册入手: 手册上 ...
- 解析 png 图片的十六进制字符流
uses pngimage; {从 png 图片到十六进制字符串} function Png2Hex(png: TPngImage): string; var stream: TMemoryStrea ...
- MariaDB10自动化安装部署
去MariaDB官网下载MariaDB本文用的是MariaDB 10.1.16 https://downloads.mariadb.org 选择二进制版本,下载到/root目录下 mariadb-10 ...
- jQuery css,position,offset,scrollTop,scrollLeft用法
jQuery css,position,offset,scrollTop,scrollLeft用法: <%@ page language="java" import=&quo ...
- 如何使excel表格的内容自动添加前缀
一.假设是要在一列的单元格内容前加上固定的内容,则 方法一在原单元格实现,分两种情况 如果原单元格的内容是数字内容,要在原数字前添加"ABC"这样的前缀则选中这些单元格----右键 ...
- JspContext对象与PageContext对象
JspContext对象与PageContext对象: public abstract javax.servlet.jsp.PageContext extends (public abstract) ...