用户名:  密码:   
您当前的位置:首页 > 程序设计 >  Delphi > 

DateTimePicker

上次修改时间: 2024-01-15 16:47:49      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\Delphi语言\常用控件使用说明\      下一页

日期相关常用函数见uses DateUtils单元

**尽量不要用OnChange(日期或值改变时)事件,而使用OnCloseUP(下拉日历关闭时)事件,
在OnChage事件里使用ShowMessage时,会死循环,日期会按月循环不断往上加,导致程序无法中断或关闭,在OnCloseUP下就正常

用该控件选择时间/日期
设置其kind属性:dtkTime用以选择时间,dtkDate时用以选择日期

格式化当前日期为指定格式:
edt1.Text:= FormatDateTime('yyyy-mm-dd', Now());

只获取时间:ShowMessage(TimeToStr(DateTimePicker3.DateTime));
只获取日期:ShowMessage(DateToStr(DateTimePicker3.DateTime));

将日期的赋给控件:
DataTimePickerl.Date:=StrToDate(Editl.Text);
DataTimePickerl.Date:=now();  //将今天的日期赋给控件,否则控件一直显示设计时的日期

将时间赋给控件:
  str:='15:12:13';
  DateTimePicker4.Time:=StrToTime(str)

通过在控件的改变事件设置赋给dbedit,通过datafrm.CjSdatAeDtDs.DataSet.Post;保存时,不能把值保存到数据库
解决方法:要先将数据集设为编辑状态
DataFrm.CjSdataEdtDs.DataSet.Edit;  //加上这句,先将数据集设为编辑状态就可以了
dbedt1.Text := FormatDateTime('yyyy-mm-dd', Dtp1.Date);

读取日期控件的值赋给字符串变量
Editl.Text:=DateToStr(DateTimePickerl.Date); 
dbedtsalesday.Text := FormatDateTime('yyyy-mm-dd', DateTimePicker1.Date); //格式化日期为指定格式

转为文本后的日期相加减要用VarToDateTime函数 
procedure TSalesFr.Button3Click(Sender: TObject);
var
  aa: TDateTime;
begin
  aa := VarToDateTime(dbedtsalesday.Text);
  dbedtsalesday.Text := FormatDateTime('yyyy-mm-dd', aa + 1);
end;

ParentBiDiMode属性的作用是否受父控件的影响,如文本显示方向靠左靠右等