注意了!注意了!一个挑战性的问题诞生了!!! 如何获得一年内的所有节假日?

hongcha99 2009-05-19 01:55:23
1)获得所有节假日?(包括6,7)
2)获得星期6,星期7在内的节假日?(不包括劳动节啊,国庆节啊这类的)

大家来比赛!分数全在这里
...全文
523 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
老龙友 2009-05-23
  • 打赏
  • 举报
回复
不是吧,这样简单的问题。。。。。


居然还要来问。。。。
我姓区不姓区 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 hongcha99 的回复:]
这么说吧,如何获得一年内的所有星期6,7的日子,其他的不要
[/Quote]

int year = 2009;
for (DateTime dt = new DateTime(year, 1, 1); dt < new DateTime(year, 12, 31); dt = dt.AddDays(1))
if (dt.DayOfWeek == DayOfWeek.Saturday || dt.DayOfWeek == DayOfWeek.Sunday)
Console.WriteLine(dt.ToString("yyyy-MM-dd") + " " + dt.DayOfWeek);

feifeiyiwen 2009-05-23
  • 打赏
  • 举报
回复
这样还好点
hongcha99 2009-05-23
  • 打赏
  • 举报
回复
这么说吧,如何获得一年内的所有星期6,7的日子,其他的不要
Rail100 2009-05-23
  • 打赏
  • 举报
回复
代码就不写了,思路很简单,先判断1月1日是星期几,用加法获得1月1日之后的第一个星期六日,之后每个星期六日之间隔7日,然后循环得到之后的星期六日,用while循环,每次直接加7日。
madong871020 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 ojlovecd 的回复:]
引用 19 楼 hongcha99 的回复:
这么说吧,如何获得一年内的所有星期6,7的日子,其他的不要


C# code
int year = 2009;
for (DateTime dt = new DateTime(year, 1, 1); dt < new DateTime(year, 12, 31); dt = dt.AddDays(1))
if (dt.DayOfWeek == DayOfWeek.Saturday || dt.DayOfWeek == DayOfWeek.Sunday)
Console.WriteLine(dt.ToString("yyyy-MM-dd…
[/Quote]顶
anheizhizi 2009-05-19
  • 打赏
  • 举报
回复
法定节假日好几个都是国家临时定的吧.....难道要人工智能...
itcrazyman 2009-05-19
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 wuyq11 的回复:]
create table SatSun([id] int identity(1,1),[date] datetime,[weekday] char(6))
go

declare @datetime datetime,@weekday char(6)
set @datetime='2009-1-1'
while @datetime <='2009-12-31'
begin
select @weekday=datename(weekday,@datetime)
if @weekday= '星期六' insert SatSun([date],[weekday]) values(@datetime,@weekday)
if @weekday='星期日' insert SatSun([date],[weekday]) values(@datetim…
[/Quote]
INCpig 2009-05-19
  • 打赏
  • 举报
回复
学习学习
wuyq11 2009-05-19
  • 打赏
  • 举报
回复
create table SatSun([id] int identity(1,1),[date] datetime,[weekday] char(6))
go

declare @datetime datetime,@weekday char(6)
set @datetime='2009-1-1'
while @datetime<='2009-12-31'
begin
select @weekday=datename(weekday,@datetime)
if @weekday= '星期六' insert SatSun([date],[weekday]) values(@datetime,@weekday)
if @weekday='星期日' insert SatSun([date],[weekday]) values(@datetime,'星期天')
select @datetime=dateadd(day,1,@datetime)
end
go

select * from satsun

drop table satsun
wumeng53521 2009-05-19
  • 打赏
  • 举报
回复
这个。。还是帮顶+学习吧
cppwizard_alvin 2009-05-19
  • 打赏
  • 举报
回复
我来拉坨屎
RHCL 2009-05-19
  • 打赏
  • 举报
回复
等等看
silvering 2009-05-19
  • 打赏
  • 举报
回复
值得研究...
sayluyun 2009-05-19
  • 打赏
  • 举报
回复
接楼上的拉车··
jinjazz 2009-05-19
  • 打赏
  • 举报
回复
我当黄牛
yang318 2009-05-19
  • 打赏
  • 举报
回复
/// 根据日期,获得星期几
/// 年
/// 月
/// 日
/// 星期几,1代表星期一;7代表星期日
public static int getWeekDay(int y,int m, int d)
{
if(m==1) m=13;
if(m==2) m=14;
int week=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
return week;
}
brucele 2009-05-19
  • 打赏
  • 举报
回复
有点难度。
wangchao813 2009-05-19
  • 打赏
  • 举报
回复
up
wszhoho 2009-05-19
  • 打赏
  • 举报
回复
嘛意思?周六周日是,其他的不是?
加载更多回复(4)

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧