TwwDBDateTimePicker统计控件问题

发现一个问题,提醒delphi开发的同事们注意。

使用TwwDBDateTimePicker控件时,请不要使用wwDBDateTimePicker1.Date + 0.999999的方式来统计,必须要用Trunc(wwDBDateTimePicker1.Date) + 0.99999

不然容易出现像报表系统那样,多统计一天的问题。至于什么原因,大家可以看代码:

[delphi]procedure TForm1.Button1Click(Sender: TObject);
begin
wwDBDateTimePicker1.DateTime := Now;
ShowMessage(FormatDateTime('yyyy-mm-dd hh:nn:ss', wwDBDateTimePicker1.Date));
end;
[/delphi]

所以wwDBDateTimePicker1.Date的格式不一定就是yyyy-mm-dd,盲目的+0.999999是错误的。而且错误隐蔽性很高,查了我一个早上。

23.9998/24

在日期的加减上,0.999999跟1是一样的效果。

那也是不对的,必须要先把wwDBDateTimePicker1.Date的值Trunc一下。

date应该是整型的吧?还没验证过呢。

不是的。

这个以前就知道了。
还有什么显示格式什么的,最后用formatdatetime

所以说隐蔽性很强,不容易发现。
对,我个人不建议使用DateToStr或者DateTimeToStr这两个函数,尽量用FormatDateTime

是的,DatetoStr会受制于操作系统的日期格式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值