取得每个月的最后一天,以下是试验用到的代码

现在用到要取得月中的最后一天,在 sql 中用 2007-02-30 这个日期试了一下,出错了,所以必须用有效的日期,
以下的代码是试验用到的

 

procedure TForm1.Button1Click(Sender: TObject);
var
  fisc:string;
  ss : string;
  m1,m2:Tdatetime;
  nextMonth:tdatetime;
  curMonth:tdatetime;
  maxDay:string;
  m,y:dword;
  ms,ys:string;


begin

  m1 := strtodate('2007-09-29');
  m2 := strtodate('2007-10-28');

  m :=dateutils.MonthOf(m2);
  y := dateutils.YearOf(m2);

  ms :=inttostr(m);
  ys :=inttostr(y);

  nextMonth := strtodate(ys+'-'+inttostr(m+1)+'-01');  // 取得下一个月的 1 号
  curMonth :=  strtodate(ys+'-'+inttostr(m)+'-01');    // 取得当月的 1 号

 showmessage(floattostr(nextMonth-curMonth));                // 31
 showmessage(datetostr( dateutils.EndOfTheMonth(curMonth))); // 2007-10-31
 showmessage(datetostr( dateutils.EndOfTheDay(curMonth)));   // 2007-10-01
 showmessage(datetostr( dateutils.EndOfTheYear(curMonth)));  // 2007-12-31
 showmessage(datetostr( dateutils.EndOfAMonth(y,m)));        // 2007-10-31
end; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值