在一个管理系统中,我用两个datetimepicker控件,分别表示所交房租的起始年月和终止年月,样式设成上下箭头式,并设置格式为只显示年和月,由于2月没有30和31日,遇到当前日期为30或31日时,一把月份改成2就出错,一个朋友在帖子中帮我解决了这个问题,即先设置datetimepicker2.date:=startofthemonth(now),现在遇到了新问题:在把时间录入数据库时,需要把datetimepicker2的日期再设成该月的最后一天,不然在以时间为查询条件时,会少查询一个月。我试图在datetimepicker的onExit事件中写入这样的代码:datetimepicker2.date:=endofthemonth(datetimepicker2.date),结果根本没作用,哪位大侠帮我解决一下。

解决方案 »

  1.   

    干嘛要手动输入呢?自动多好? dateutils单元和sysutils单元有众多函数可供计算使用.
      

  2.   

    你可以将DateTimePicker控件中的format属性改为'yyyy-MM',注意月份要大写,这样选择的就是年月.在入库的时候用下面的语句,这样返回的字符串就是每个月的最后一天的日期
    FormatDateTime('yyyy-mm',DateTimePicker1.DateTime)+'-'+IntToStr(DaysInMonth(DateTimePicker1.DateTime))