DateTimePicker是常用的日期时间控件,在作为日期控件使用时,我们一般只能在上面显示年/月/日的信息,虽然我们可以通过Format格式字符串来设置日期的样式,如用yyyy表示年份,M表示月份,d表示日期,但对于星期几,好象没有相应的英文字母来代表它.而在一些软件上,我却看到它们可以在DateTimePicker上显示星期几,如何实现的呢?应该是通过FORMAT吧,我试写了一下代码,在每次改变DateTimePicker的日期值后,重新计算该日期值是星期几,之后重设DateTimePicker的FORMAT=’yyyy年m月d日星期几’来实现.以下是代码:
//设置DateTimePicker字符串格式的函数 procedure TWorkEdit_Dlg.weekDate(NoDate:TDatetime); var st,swk:string; begin //根据日期值计算它是星期几. case DayOfWeek(NOdate) of 1: swk:='星期日'; 2: swk:='星期一'; 3: swk:='星期二'; 4: swk:='星期三'; 5: swk:='星期四'; 6: swk:='星期五'; 7: swk:='星期六'; end; //重设DateTimePicker1.Format; st:='yyyy年M月d '+swk; DateTimePicker1.Format :=st; End; // DateTimePicker1的日期改变时,重新设置DateTimePicker1.Format; procedure TWorkEdit_Dlg.DateTimePicker1Change(Sender: TObject); begin weekDate(DateTimePicker1.Date ); end; //初始化 procedure TWorkEdit_Dlg.FormCreate(Sender: TObject); begin //将日期设为今天 DateTimePicker1.Date:=Now; //此时DateTimePicker1Change消息不会产生,要自己设置 weekDate(DateTimePicker1.Date ); end; end. |
在DateTimePicker上显示星期几
最新推荐文章于 2023-07-19 15:54:29 发布