

日期相关常用函数见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属性的作用是否受父控件的影响,如文本显示方向靠左靠右等