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">指 ...
随机推荐
- SQL Server 2005入门到精通(案例详解)
SQL Server 2005基础应用 一.数据库的基本操作 --创建数据库 create database new_db2 on primary ( name='new.mdf', filena ...
- PHP cookie禁用时session 方案
在PHP中使用过SESSION的朋友可能会碰到这么一个问题,SESSION变量不能跨页传递.这令我苦恼了好些日子,最终通过查资料思考并解决了这个问题.我认为,出现这个问题的原因有以下几点: 1.客户端 ...
- cookie记忆换肤功能实战Demo
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&qu ...
- mysql 语句总结
1.多表查询 SELECT a.id,catid,thumb,title FROM v9_gamedown as a LEFT JOIN v9_gamedown_data as b ON a.id=b ...
- Storm InvalidTopologyException: null
异常信息: backtype.storm.generated.InvalidTopologyException: null at backtype.storm.daemon.common$valida ...
- 微信小程序t填坑之旅一(接入)
一.小程序简介 小程序是什么? 首先"程序"这两个字我们不陌生.看看你手机上的各个软件,那就是程序.平时的程序是直接跑在我们原生的操作系统上面的.小程序是间接跑在原生系统上的.因为 ...
- Android之com.nostra13.universalimageloader加载图片抛出OutOfMemroyError错误的多种解决办法
com.nostra13.universalimageloader是用来加载图片非常好的框架,但是也有问题,一旦图片过多的话,很容易就会提示OutOfMemroyError错误,也就是内存溢出的问题, ...
- asp.net权限认证:Forms认证
asp.net权限认证系列 asp.net权限认证:Forms认证 asp.net权限认证:HTTP基本认证(http basic) asp.net权限认证:Windows认证 asp.net权限认证 ...
- javascript 终止函数执行操作
1.如果终止一个函数的用return即可,实例如下:function testA(){ alert('a'); alert('b'); alert('c');}testA(); 程序 ...
- Unsupported major.minor version 52.0错误解决 Ubuntu JDK8 安装配置
Unsupported major.minor version 52.0错误一般是因为应用程序需要JDK8而ubuntu默认的是jdk7,所以需要切换到jdk8才能解决这个问题. 本文使用PPA方式安 ...