计算今天之后第一个工作日(100分)

developCpp 2009-06-26 10:51:39
求计算日期的代码,只要年月日即可

1.计算今天之后的第一个工作日,(星期1-5)
2.计算今天之后的星期三

自己越写越复杂,还用到几个循环,搞出一大堆代码来,
怀疑自己是前段时间写PHP写胡涂了
先谢谢各位大侠了
...全文
69 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
developCpp 2009-06-26
  • 打赏
  • 举报
回复
CSDN怎么将 [管理帖子] 的功能拿掉了?
怎么给分阿
na_he 2009-06-26
  • 打赏
  • 举报
回复
呵呵,学习了。。
developCpp 2009-06-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qiandayong 的回复:]
这个很麻烦, 万一是法定节假日呢, 国务院会规定倒休时间的

灵活安排吧
[/Quote]

谢谢, 确实要判断假日, 唉! 只能一步一步的写了
developCpp 2009-06-26
  • 打赏
  • 举报
回复
谢谢大家的热心帮助, 我再试一下, 一会结贴
oyljerry 2009-06-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 developCpp 的回复:]
这么快就有人回复了阿, 呵呵
我的代码这么写的
time_t today=mktime(&localtime(NULL));
time_t tt=today;
struct tm ttm;
while(1)
{
tt+=24*60*60;
ttm=localtime(&tt);
if(ttm.tm_wday <5)
{
break;
}
}
计算今天之后的星期三
while(1)
{
tt+=24*60*60;
ttm=localtime(&tt);
if(ttm.tm_wday=2)
{
break;
}
}
[/Quote]
自己用time_t等,那就只能自己累加一天的时间等来判断,要么就通过MFC类库等来实现,提供了一些现成的方法
developCpp 2009-06-26
  • 打赏
  • 举报
回复
汗! CSDN这里人气这么高阿, 好久没来了, 叹
developCpp 2009-06-26
  • 打赏
  • 举报
回复
这么快就有人回复了阿, 呵呵
我的代码这么写的
time_t today=mktime(&localtime(NULL));
time_t tt=today;
struct tm ttm;
while(1)
{
tt+=24*60*60;
ttm=localtime(&tt);
if(ttm.tm_wday<5)
{
break;
}
}
计算今天之后的星期三
while(1)
{
tt+=24*60*60;
ttm=localtime(&tt);
if(ttm.tm_wday=2)
{
break;
}
}
ok1234567 2009-06-26
  • 打赏
  • 举报
回复
今天之后的第一个工作日,判断一下 GetDayOfWeek() 就可以了
还没淹死的鱼 2009-06-26
  • 打赏
  • 举报
回复
这个很麻烦, 万一是法定节假日呢, 国务院会规定倒休时间的

灵活安排吧
ok1234567 2009-06-26
  • 打赏
  • 举报
回复
关键代码

COleDateTime GetNextWDay(int iWDay)
{
COleDateTime dt(COleDateTime::GetCurrentTime());
COleDateTimeSpan span(iWDay+7-dt.GetDayOfWeek(),0,0,0);
dt += span;
return dt;
}

iWDay:1-7:星期天-星期六
比如区下个星期一
COleDateTime dt=GetNextWDay(2);
AfxMessageBox(dt.Format("%Y-%m-%d"));
比如区下个星期三
COleDateTime dt=GetNextWDay(4);
AfxMessageBox(dt.Format("%Y-%m-%d"));
skyxie 2009-06-26
  • 打赏
  • 举报
回复
CTime today = CTime::GetCurrentTime();
today.GetDayOfWeek() 得到今天是星期几, 然后相应加几天(CTime定义了opertor +)就得到下一个周1/周3了.

zaodt 2009-06-26
  • 打赏
  • 举报
回复

CTime
CTimeSpan


两个类组合起来用,很简单!
NTooL 2009-06-26
  • 打赏
  • 举报
回复
我知道今天是星期五
oyljerry 2009-06-26
  • 打赏
  • 举报
回复
GetLocalTime() 获得当前日期,转换成COleTime等然后直接相加 100天,得到对应的日期,再判断星期几

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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