日期的输入问题(100分)

  • 主题发起人 主题发起人 杜海涛
  • 开始时间 开始时间

杜海涛

Unregistered / Unconfirmed
GUEST, unregistred user!
在做Mis系统时,我是用Datetimepicker来输入日期的,但无法获取具体的年、月、日
信息,所以想问在做Mis系统时,日期用何种控件较好,如用Datetimepicker,如何获取具
体的年、月、日信息
 
DecodeDate
DecodeTime 还不行吗?

Datetimepicker就应该可以了,我不喜欢用多余的第三方空件,因为增加了不稳定的因素。
 
DecodeDate
DecodeTime 可以呀
 
可以用datetimepicker,如果你使用了infopower,还可以用Twwdatetimpicker,它还可以和
数据库相关联。
你可以这样做:
var
yy,mm,dd:word; //yy是年份,mm是月份,dd是日
datetemp:tdate; //一个日期型变量
datetemp:=datetimepicker.date;
decodedate(datetemp,yy,mm,dd); //decodedate函数可以把日期分解为年、月、日
//yy,mm,dd中分别是年、月、日
你还可以用encodedate(yy,mm,dd)把年月日合成日期。
 
看DELPHI的帮助
procedure TForm1.Button1Click(Sender: TObject);

var
Present: TDateTime;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= Now;
DecodeDate(Present, Year, Month, Day);
Label1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '
+ IntToStr(Month) + ' of Year ' + IntToStr(Year);
DecodeTime(Present, Hour, Min, Sec, MSec);
Label2.Caption := 'The time is Minute ' + IntToStr(Min) + ' of Hour '
+ IntToStr(Hour);
end;

用下面的语句:

var year,month,day:word;
date:tdatetime
date:=datetimepicker1.date
decodedate(date,year,month,day);
//此时分解出的年月日是字类型,变为串用inttostr函数,否则当整形用.
 
用formatdatetime('mm',datetimepicker.datetime)就可以了
 
如果以上你还不满意还可以用:FormatDateTime 它返回是字符串;
FormatDateTime('yyyy',datetimepicker1.date); //年
FormatDateTime('mm',datetimepicker1.date); //月
FormatDateTime('dd',datetimepicker1.date); //日
FormatDateTime('yyyy"年"m"月"d"日"',datetimepicker1.date); //2001年4月17日
 
procedure TForm1.Button1Click(Sender: TObject);

var
Present: Tdate;
Year, Month, Day, Hour, Min, Sec, MSec: Word;
begin
Present:= DateTimePicker1.Date ;
DecodeDate(Present, Year, Month, Day);
form1.Caption := 'Today is Day ' + IntToStr(Day) + ' of Month '
+ IntToStr(Month) + ' of Year ' + IntToStr(Year);
DecodeTime(Present, Hour, Min, Sec, MSec);
form1.Caption := form1.caption+'The time is Minute ' + IntToStr(Min) + ' of Hour '
+ IntToStr(Hour);
end;
 
多人接受答案了。
 
后退
顶部