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分。请前辈帮我解决一下吧。谢谢了。

解决方案 »

  1.   

    显然你说的11是读取你的时间里的月份而不是分钟 你应该多看一下FormatDateTime的具体用法
      

  2.   

    Label1.Caption:=FormatDateTime('yyyy年MM月dd日  hh时nn分ss秒', now);
      

  3.   

    Label1.Caption:=FormatDateTime('yyyy年MM月dd日  hh时nn分ss秒', now);
    这样试一下
      

  4.   

    不过
    Label1.Caption:=FormatDateTime('yyyy年MM月dd日  hh时mm分ss秒', now);
    我这用是可以的
      

  5.   

    Label1.Caption:=FormatDateTime('yyyy年MM月dd日  hh时nn分ss秒', now);function FormatDateTime(const Format: string; DateTime: TDateTime): string; Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符:c 以短时间格式显示时间,即全部是数字的表示
    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