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">指 ...
随机推荐
- dev中TreeList的应用(转)
如果需要在单元格添加时则用TreeList如果只是单纯读取数据或检索数据时则用GridControl 1.如果点击添加 时则添加TreeList的节点: protected internal void ...
- Angular - - ngHref、ngSrc、ngCopy/ngCut/ngPaste
ngHref 在Angular程序没完成改变链接上用{{hash}}方式绑定的href值的时候,当用户点击该链接会跳到一个错误的页面. 格式:ng-href=”value” value:表达式. 使用 ...
- JQuery的$.each(list,function(i,a){} 中 i和a 未定义,a取不到值
$.each(list,function(i,a){ var status = ""; if(a.status==0) status="未审核"; else i ...
- SoapUI:入门实例
这一章中我们要掌握如下内容: 1) 构建项目: 2) 运行单个请求: 3) 构建测试用例: 4) 接口之间传递参数,组织测试步骤: 5) ...
- 导入礼包时,遇到file_get_contents读取的文本,去除空格、换行等的方法
解决方法:正则替换: 代码:$gift_code_str = preg_replace('/((\s)*(\n)+(\s)*) /i ',',',file_get_contents($gift_cod ...
- 使用AOP的方式监测方法执行耗时
在一些对系统中,往往可能需要对一些核心业务做相应的监测.如:记录调用参数,返回值,方法执行耗时等等.如果直接在方法的前后加入代码,如下: public int F(int a, string s) { ...
- 实际开发中,实用的辅助iOS开发的工具
就目前所知,开发iOS绝大部分都是用Xcode,除此工具之外,还有几个好用的可以辅助实际开发中遇到的问题,拥有这种辅助开发技能,在工作中,甚至是以后的面试中,都可能会有不小的帮助. 下面推荐三个实用的 ...
- java_db常见错误总结
1.java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 在拼写seq时是否存在存在特殊字符,如:常见语句后面添加了;2.ORA-01722:无效数字解决 ...
- 重新学习WCF
近来工作不怎么忙,一直在想一个问题,今年刚刚毕业,对于我们这应届生到底应该学习那些技术呢? 面对着现在技术横生,到底哪项是适合自己的呢?自己一直都在迷茫,若有那位大神再次经过,望给出您宝贵的建议. 最 ...
- android Android性能优化之如何避免Overdraw
什么是Overdraw? Overdraw就是过度绘制 怎么来消灭overdraw呢?总的原则就是:尽量避免重叠不可见元素的绘制,基于这个原则,我们大概可以想出以下几招: 第一招:合理选择控件容器 ...