在DateTimePicker上显示星期几

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.

posted on 2012-06-03 20:51  为人民服务  阅读(1876)  评论(0编辑  收藏  举报