2015-08-12 · 知道合伙人数码行家
关注
展开全部
delphi TDate,Time存储方式本质上也是以double来存储的。用整数部分表示日期,小数部分表示时间。TDateTimePicker有上面三种属性。
二、
delphi TDateTimePicker的kind属性设置为dtkDate用于显示日期,第二个kind设置为dtkTime用于显示时间,但是不能同时显示的。
三、用DateTimePicker.Date和Time的值要注意:取Date要用trunc取整得到,取Time要用frac取小数得到。
四、DateTimePicker的Date,Time,DateTime三者是相等的。
新建一个工程放入一个TDateTimePicker、两个TEdit、两个按钮,并设置两个按钮的事件代码如下
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date;
Edit1.Text:=DateTimeToStr(t);
end;
procedure TForm1.Button2Click(Sender: TObject); //判断取Date和DateTime是否相等
begin
if DateTimePicker1.Time = DateTimePicker1.DateTime then
begin
Edit2.Text:='相等'
end
else
begin
Edit2.Text:='不相等';
end;
end;
可以看到虽然我们的代码中只取了Date或是Time,但是它们的值和DateTime的值是相等的。
所以如果你用如下代码
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date + DateTimePicker1.Time;
//t:= trunc(DateTimePicker1.Date)+frac(DateTimePicker1.Time);//这才是等到DateTimePicker1的日期和时间
Edit1.Text:=DateTimeToStr(t);
end;
结果是:2120-6-21 2:00:00
相当于是把DateTimePicker1的时间和日期乘以2了,并不是说DateTimerPicker的Date+Time就和DateTime相等。
而用 trunc取整数部分 加上 frac取小数部分 函数,两者取出来的和就会和原来相等。
二、
delphi TDateTimePicker的kind属性设置为dtkDate用于显示日期,第二个kind设置为dtkTime用于显示时间,但是不能同时显示的。
三、用DateTimePicker.Date和Time的值要注意:取Date要用trunc取整得到,取Time要用frac取小数得到。
四、DateTimePicker的Date,Time,DateTime三者是相等的。
新建一个工程放入一个TDateTimePicker、两个TEdit、两个按钮,并设置两个按钮的事件代码如下
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date;
Edit1.Text:=DateTimeToStr(t);
end;
procedure TForm1.Button2Click(Sender: TObject); //判断取Date和DateTime是否相等
begin
if DateTimePicker1.Time = DateTimePicker1.DateTime then
begin
Edit2.Text:='相等'
end
else
begin
Edit2.Text:='不相等';
end;
end;
可以看到虽然我们的代码中只取了Date或是Time,但是它们的值和DateTime的值是相等的。
所以如果你用如下代码
{DateTimePicker1的日期和时间设置为:2010-03-26 13:00:00}
procedure TForm1.Button1Click(Sender: TObject); //取出Date部分,并判断它的值
var
t:TDateTime;
begin
t:= DateTimePicker1.Date + DateTimePicker1.Time;
//t:= trunc(DateTimePicker1.Date)+frac(DateTimePicker1.Time);//这才是等到DateTimePicker1的日期和时间
Edit1.Text:=DateTimeToStr(t);
end;
结果是:2120-6-21 2:00:00
相当于是把DateTimePicker1的时间和日期乘以2了,并不是说DateTimerPicker的Date+Time就和DateTime相等。
而用 trunc取整数部分 加上 frac取小数部分 函数,两者取出来的和就会和原来相等。
展开全部
TDateTimePicker 是可视化控件,你直接拖到Form里,就可以用了。
var
mytime : TDatetime;
begin
mytime := DateTimePicker1.DateTime;
edit1.Text := DateTimeToStr(mytime);
end;
var
mytime : TDatetime;
begin
mytime := DateTimePicker1.DateTime;
edit1.Text := DateTimeToStr(mytime);
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
win32下的控件,把需要的日期赋值给它就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2015-06-29 · 知道合伙人互联网行家
关注
展开全部
给DatetimePicker赋值时,可以通过界面设置赋值,也可以通过代码赋值。
通常会给表示起始时间的dtp赋值为 00:00:00,给表示结束时间的dtp赋值为23:59:59。
代码如下:
dtp1.time:=strtodatetime('00:00:00');
dtp2.time:=strtodatetime('23:59:59');
但这种方式有硬编码的嫌疑,而且在对表示日期的datetimepicker赋值时,因为strtodatetime函数在winxp和win7下默认的时间格式不同,可能引发异常。
那么有没有一种比较好的方式来赋值呢。当然是有的。
以给 kind=dtkTime 的 datetimePicker 赋值为例,代码如下。(需引用DateUtiles单元)
dtp1.Time:= StartOfTheDay(Now);
dtp2.Time:=EndOfTheDay(Now);
给日期类型的DatetimePicker赋值也是一样的,利用startofamonth,endofamonth等函数即可。
通常会给表示起始时间的dtp赋值为 00:00:00,给表示结束时间的dtp赋值为23:59:59。
代码如下:
dtp1.time:=strtodatetime('00:00:00');
dtp2.time:=strtodatetime('23:59:59');
但这种方式有硬编码的嫌疑,而且在对表示日期的datetimepicker赋值时,因为strtodatetime函数在winxp和win7下默认的时间格式不同,可能引发异常。
那么有没有一种比较好的方式来赋值呢。当然是有的。
以给 kind=dtkTime 的 datetimePicker 赋值为例,代码如下。(需引用DateUtiles单元)
dtp1.Time:= StartOfTheDay(Now);
dtp2.Time:=EndOfTheDay(Now);
给日期类型的DatetimePicker赋值也是一样的,利用startofamonth,endofamonth等函数即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询