如何获得当月的第一天以及最后一天的日期?

mark2003 2005-04-03 04:08:05
例如我已经知道今天是2005-4-3日,然后我如何获得4月的第一天日期是2005-4-1日以及2005-4-30日
...全文
745 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sczyq 2005-04-11
  • 打赏
  • 举报
回复
if (iMonth == 2)
if (!iYear % 4)
return 29;
else return 28
else if (iMonth == 4 || iMonth == 6 || iMonth == 9 || iMonth == 11)
return 30;
else return 31;
sczyq 2005-04-11
  • 打赏
  • 举报
回复

if (iMonth = 2)
if (iYear % 4)
return 29;
else return 28
else if (iMonth = 4 || iMonth = 6 || iMonth = 9 || iMonth = 11)
return 30;
else return 31;
axiang8385 2005-04-11
  • 打赏
  • 举报
回复
俺想学习BC++6.0,不知那位高人给介绍几本好教材.偶在这里谢了。
E-mail:niitfengxuxiang@163.com
Behard 2005-04-03
  • 打赏
  • 举报
回复
关键是 DecodeDate 函数
Behard 2005-04-03
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button2Click(TObject *Sender)
{
for(int i=1; i<4; i++)
{
TDateTime fdate = TDateTime(2005, i, 3);
unsigned short int year, month, day;
fdate.DecodeDate(&year, &month, &day);
TDateTime fTempDate = TDateTime(year, month, 1);
TDateTime nTempDate;
if(month>=12)
nTempDate = TDateTime(year+1, 1, 1)- 1;
else nTempDate = TDateTime(year, month+1, 1)- 1;

ShowMessage(FormatDateTime("yyyy-m-d", fTempDate)+ " "+ FormatDateTime("yyyy-m-d", nTempDate));
}
}
samchoy 2005-04-03
  • 打赏
  • 举报
回复
这就相当于取指定的某年某月的天数,可以这样实现

#include <DateUtils.hpp>

int lastday = DaysOfAMonth(year, month);
crysword 2005-04-03
  • 打赏
  • 举报
回复
每个月的第一天肯定是1号没有什么疑问。而最后一天用ljyjjj的方法也很容易实现,因为时间型变量可以作为实型来操作,把要求的月份的下个月1号转成时间变量减去1然后转换成时间型变量得到的就是所求的最后一天。
xiaolong83 2005-04-03
  • 打赏
  • 举报
回复
查查。
民间导尿管 2005-04-03
  • 打赏
  • 举报
回复
在VB中很好做,一般月份有28、29、30、31等最后一天,但必有1号,月份的1号减一,得到前一个月份的最后一天,我在VB中实现了。很简单,C++B很久没有用了,应该差不多吧,利用控件的属性。我刚好在VB中做了这种操作。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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