设为首页 - 加入收藏 - 网站地图 - RSS订阅 村姑网-www.cunguer.com
当前位置:首页 > 软件开发 > delphi > 正文

delphi 判断星期几并显示出来

时间:2015-02-23 22:47:48 来源:村姑网 作者:喜欢安静 阅读:
导读:在 delphi 中我们要获取当前日期是 星期几 的时候一般使用 DayOfWeek(Now) 函数,这个函数的返回值为1-7的Word类型的数据。好了,知道了这点,我们就可以开始用delphi编程实现判断今天是星期几并显示出来的程序了。下面我们开始写代码喽~! 1、新建一个应用...
    在delphi中我们要获取当前日期是星期几的时候一般使用DayOfWeek(Now)函数,这个函数的返回值为1-7的Word类型的数据。好了,知道了这点,我们就可以开始用delphi编程实现判断今天是星期几并显示出来的程序了。下面我们开始写代码喽~!
 
    1、新建一个应用程序,然后添加一个"按钮"设置其“caption”属性为“今天星期几”、一个"edit"文本控件,用来显示出来结果。
 
    2、双击新建的"按钮",编写该按钮的"Click"事件。写下如下代码:
       form1.edt1.Text:='星期'+inttostr(DayOfWeek(Now));//前面我们说DayOfWeek(Now)函数的返回是是一个Word类型的数据,而要显示出来的话就必须转换成string类型才可以和"星期"这个字符串连接起来,所以这里要用inttostr进行类型转换。
 
    3、F9运行,单击按钮“今天星期几”按钮,运行结果如下图所示:

错误的显示出今天星期6

 
    我们可以看到,运行结果是“星期6”,而我本地的真正时间却是星期5,这是为什么呢?先把F9运行后的程序窗口关掉,来到代码单元,我们按着“Ctrl”然后鼠标左键单击DayOfWeek(Now)函数,来到sysutils.pas中DayOfWeek(Now)函数定义的位置来看一下,函数定义如下:
    function DayOfWeek(const DateTime: TDateTime): Word;
    begin
      Result := DateTimeToTimeStamp(DateTime).Date mod 7 + 1;
    end;
 
    从DayOfWeek函数定义来看,DayOfWeek的返回值是除以7后+1,也就是说他的返回值和星期几的对应关系为:
 
            1 = 星期天
            2 = 星期一
            3 = 星期二
            4 = 星期三
            5 = 星期四
            6 = 星期五
            7 = 星期六
 
    那么我们这个时候就需要把“今天星期几”按钮的click事件的代码修改一下了,修改为下面的代码:
 
      if DayOfWeek(Now)=1 then
      begin
        form1.edt1.Text:='星期7';
      end
      else
      begin
        form1.edt1.Text:='星期'+inttostr(DayOfWeek(Now)-1);
      end;
 
    接下来我们运行一下,查看结果是否正确,如下图:

正确的显示出今天星期5

    看到了没,这次我们运行结果就正确了。最后我们总结一下,DayOfWeek(Now)函数得到的是今天是一周当中的第几天,而星期天是每周的第一天,所以如果我们是要显示今天是一周当中的第几天的话直接调用就可以,而如果我们要显示今天是星期几的话,就需要使用我们上面的方法了,当然,还有其他的方法,限于篇幅,这里就不再说了。