vc++ 根据系统时间得到今后一周日期

        最近在项目中需要动态用到当日起最近一周的日期,小小的要求,用时才发现找不到现成的简便方法。

自己便动手写了一个简单的函数,在此记录,也给有需要的朋友参考。

代码如下:

CString date_one,date_two,date_three,date_four,date_five,date_six,date_seven;

//根据系统时间获取今后一周的日期

void CWeatherForecastCollectMain::CGetOneWeekDate()
{
CTime t = CTime::GetCurrentTime(); //获取系统日期

int y=t.GetYear(); //获取年份
        int m=t.GetMonth(); //获取月份

int d=t.GetDay(); //获得日


date_one.Format("%d-%02d-%02d",y,m,d);

///
int date_num;
if (m==2)
{
date_num = 28 - d;
}
else if (m==4 || m == 6 || m==9 || m==11)
{
date_num = 30 - d;
}
else if (m==1 || m == 3 || m==5 || m==7 || m == 8 || m==10 || m==12)
{
date_num = 31 - d;
}
if (date_num > 0)
{
int i = 1;
for (i;i<=date_num;i++)
{
d++;
switch(i)
{
    case 1:
    date_two.Format("%d-%02d-%02d",y,m,d);
break;
case 2:
date_three.Format("%d-%02d-%02d",y,m,d);
break;
case 3:
date_four.Format("%d-%02d-%02d",y,m,d);
break;
case 4:
date_five.Format("%d-%02d-%02d",y,m,d);
break;
case 5:
date_six.Format("%d-%02d-%02d",y,m,d);
break;
case 6:
date_seven.Format("%d-%02d-%02d",y,m,d);
break;
default:
break;
}
}

if (date_num < 6)
{
if (m==12)
{
y++;
m=1;
}
else
{
   m++;
}
d=0;
for (i;i<=6;i++)
{
d++;
switch(i)
{
case 1:
date_two.Format("%d-%02d-%02d",y,m,d);
break;
case 2:
date_three.Format("%d-%02d-%02d",y,m,d);
break;
case 3:
date_four.Format("%d-%02d-%02d",y,m,d);
break;
case 4:
date_five.Format("%d-%02d-%02d",y,m,d);
break;
case 5:
date_six.Format("%d-%02d-%02d",y,m,d);
break;
case 6:
date_seven.Format("%d-%02d-%02d",y,m,d);
break;
default:
break;
}
}
}
}
else
{
if (m==12)
{
y++;
m=1;
}
else
{
m++;
}
d=0;
for (int i=1;i<=6;i++)
{
d++;
switch(i)
{
case 1:
date_two.Format("%d-%02d-%02d",y,m,d);
break;
case 2:
date_three.Format("%d-%02d-%02d",y,m,d);
break;
case 3:
date_four.Format("%d-%02d-%02d",y,m,d);
break;
case 4:
date_five.Format("%d-%02d-%02d",y,m,d);
break;
case 5:
date_six.Format("%d-%02d-%02d",y,m,d);
break;
case 6:
date_seven.Format("%d-%02d-%02d",y,m,d);
break;
default:
break;
}
}
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值