本帖最后由 hc1104 于 2011-02-27 03:36:59 编辑

解决方案 »

  1.   

    语法Weekday(date, [firstdayofweek])Weekday 函数语法有下列的命名参数:部分 描述 
    date 必要。能够表示日期的 Variant、数值表达式、字符串表达式或它们的组合。如果 date 包含 Null,则返回 Null。 
    Firstdayofweek 可选。指定一星期第一天的常数。如果未予指定,则以 vbSunday 为缺省值。 
    设置firstdayofweek 参数有以下设定值:常数 值 描述 
    vbUseSystem 0 使用 NLS API 设置。 
    VbSunday 1 星期日(缺省值) 
    vbMonday 2 星期一 
    vbTuesday 3 星期二 
    vbWednesday 4 星期三 
    vbThursday 5 星期四 
    vbFriday 6 星期五 
    vbSaturday 7 星期六 
    返回值Weekday 函数可以返回以下诸值:常数 值 描述 
    vbSunday 1 星期日 
    vbMonday 2 星期一 
    vbTuesday 3 星期二 
    vbWednesday 4 星期三 
    vbThursday 5 星期四 
    vbFriday 6 星期五 
    vbSaturday 7 星期六 语法Str(number)必要的 number 参数为一 Long,其中可包含任何有效的数值表达式。说明当一数字转成字符串时,总会在前头保留一空位来表示正负。如果 number 为正,返回的字符串包含一前导空格暗示有一正号。
      

  2.   

    是Now不是how
      

  3.   


    Private Sub Command1_Click()
    Print Str(Year(Now)) + "年"; Str(Month(Now)) + "月"; Str(Day(Now)) + "日" + "星期"; Str(Weekday(Now, vbMonday))
    Print Str(Hour(Now)) + "点" + Str(Minute(Now)) + "分"; Str(Second(Now))
    End Sub
      

  4.   

    vb是美国人的,默认西方国家是把星期天做为第一天的。所以如果今天是星期天,那么得出的结果是1,如果是星期一,那么得出的结果是2。以此类推都会多个1。但是vb考虑到各个国家的第一天可能不同。所以可以指定某一天做为第一天。
    参考1楼的msdn:“Firstdayofweek 可选。指定一星期第一天的常数。如果未予指定,则以 vbSunday 为缺省值。”
    空一格是因为str会留一个符号位。用cstr函数就不会有了。
    另外你的how是发帖时的笔误吧?
    整个修改如下:
    Private Sub Form_Load()
        Debug.Print CStr(Weekday(Now, vbMonday))
    End Sub
      

  5.   

    本帖最后由 bcrun 于 2011-02-27 12:01:47 编辑
      

  6.   

    本帖最后由 bcrun 于 2011-02-27 12:02:11 编辑
      

  7.   

    还不如用split,或者直接字符串查询也行。Private Sub Form_Load()
      Dim Week$
      Week = "星期" & Mid("日一二三四五六", (Weekday(Now)), 1)
      MsgBox Week
    End Sub
      

  8.   

    忘了说了 楼主的界面 vista风格感觉蛮好的那个时钟用 .png 的吗?
      

  9.   

    外网被屏蔽了,看到的图是xx。本以为他代码写的now发帖时误写成了how,因为他说到时间执行是正确的。结果去外网看了下,果然是。楼主太粗心了!建议每个模块的第一行都写上“Option Explicit”,独占一行。
    或者点击菜单 工具 - 选项 - 勾选“要求变量声明”太浪费大家感情了,faint!
      

  10.   

    楼主的问题 虽然打错了一个字母 但重点不在于此.重点在于 楼主应该学会 WeekdayName 函数,而不是单纯的使用 Weekday
      

  11.   

    楼主不但应该学会 WeekdayName 函数,还应该学会整个VB,有人教得完么?
    楼主应该什么都学会,那还要跑这里问什么?只是为了别人show其代码不成?
      

  12.   

    楼主给出了代码,在主题贴的最后面,开始我还以为how是个自定义函数
      

  13.   

    你用的系统是Win7或Vista吧,你原来的问题我不知道,试试这个——API,也很简单,我的Win7系统通过:'定义返回当前时间信息的函数
    Public Declare Sub GetLocalTime Lib "kernel32" (lpSystemTime As SYSTEMTIME)
    '函数的返回值类型声明
    Public Type SYSTEMTIME
            wYear As Integer'年
            wMonth As Integer'月
            wDayOfWeek As Integer'星期几(返回0是星期天,其他和现实的都一样)
            wDay As Integer'日
            wHour As Integer'时
            wMinute As Integer'分
            wSecond As Integer'秒
            wMilliseconds As Integer'毫秒
    End Type一个函数就返回了当前的所有时间信息,去试试吧,以下是示例代码
     【需要一个时钟控件(Timer1)和一个文本框(Text1),先设置文本框的MultiLine属性为True,ScollBars属性为3,时钟控件(Timer)的Interval属性为1000】:Dim a As SYSTEMTIME
    '这是Timer1的代码
    Private Sub Timer1_Timer()
    GetLocalTime a
    Text1.Text = ""
    '每次先清空文本框
    Text1.Text="年:" & a.wYear & VbCrLf & _
               "月:" & a.wMonth & VbCrLf & _
               "日:" & a.wDay & VbCrLf & _
               "星期几:" & a.wDayOfWeek & VbCrLf & _
               "当前时间:" & a.wHour & ":" & a.wMinute & ":" & a.wSecond
    'VbCrLf是回车换行符,实现回车换行的功能
    End Sub自己试试去吧,还有提醒一句,返回时间直接用Time语句就行,当然上面的也可以。
      

  14.   

    楼主把now能写成how都调试不出来,学API有些过早
      

  15.   

    话说为什么楼主写year(how)系统没有报错呢
    再说你的weekday(now)
    如果你看的教程是像样的教程的话,他应该告诉你,weekday返回的long是从周日开始,记作1的
      

  16.   

    关于自己是否适合编程的很简单的测试:
    在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:A里面有10处以上文字或标点错误
    B里面没有文字或标点错误并敢为此跟人打赌
    C里面没有文字或标点错误并且字体和排版完全与原稿一致
    D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感A不适合编程(理由:打字准确度偏低、粗心大意)
    B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
    C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
    D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)如果想从A变成B的话,到我的资源http://zhao4zhong1.download.csdn.net/里面下载“适合程序员的键盘练习”