procedure TForm1.Timer1Timer(Sender: TObject); //timer的Interval = 1000;
begin
Label1Click(Sender);
end;procedure TForm1.Label1Click(Sender: TObject);
begin
Label1.Caption:=FormatDateTime('yyyy年MM月dd日 hh时mm分ss秒', now);
end;
如上,我的代码,显示的结果是 画红线的分钟总是显示11分 , 秒针可以刷新, 但是从00秒刷新到59秒后,分针并不刷新,仍然是11分。 而且无论何时运行,分针总是11分。请前辈帮我解决一下吧。谢谢了。
这样试一下
Label1.Caption:=FormatDateTime('yyyy年MM月dd日 hh时mm分ss秒', now);
我这用是可以的
FormatdateTime(c,now);
输出为:2004-8-7 9:55:40d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位
FormatdateTime(d,now);
输出可能为1~31
dd 和d的意义一样,但它始终是以两位来显示的
FormatdateTime(dd,now);
输出可能为01~31
ddd 显示的是星期几
FormatdateTime(ddd,now);
输出为: 星期六
dddd 和ddd显示的是一样的。
但上面两个如果在其他国家可能不一样。
ddddd 以短时间格式显示年月日
FormatdateTime(ddddd,now);
输出为:2004-8-7
dddddd 以长时间格式显示年月日
FormatdateTime(dddddd,now);
输出为:2004年8月7日e/ee/eee/eeee 以相应的位数显示年
FormatdateTime(ee,now);
输出为:04 (表示04年)m/mm/mmm/mmmm 表示月
FormatdateTime(m,now);
输出为:8
FormatdateTime(mm,now);
输出为 08
FormatdateTime(mmm,now);
输出为 八月
FormatdateTime(mmmm,now);
输出为 八月
和ddd/dddd 一样,在其他国家可能不同yy/yyyy 表示年
FormatdateTime(yy,now);
输出为 04
FormatdateTime(yyyy,now);
输出为 2004h/hh,n/nn,s/ss,z/zzz 分别表示小时,分,秒,毫秒
t 以短时间格式显示时间
FormatdateTime(t,now);
输出为 10:17
tt 以长时间格式显示时间
FormatdateTime(tt,now);
输出为10:18:46ampm 以长时间格式显示上午还是下午
FormatdateTime(ttampm,now);
输出为:10:22:57上午如果要在Format中加普通的字符串,可以用双引号隔开那些特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为时间格式啦:
FormatdateTime("today is" c,now);
输出为:today is 2004-8-7 10:26:58时间中也可以加"-"或"\"来分开日期:
FormatdateTime("today is" yy-mm-dd,now);
FormatdateTime("today is" yy\mm\dd,now);
输出为: today is 04-08-07也可以用":"来分开时间
FormatdateTime("today is" hh:nn:ss,now);
输出为:today is 10:32:23