例如,我输入今天日期 20040722 ,通过这个函数,可以返回30,
表示 今天是本年的第30周。VB是否有这种函数?如果没有,那么如何
编写能实现此功能的代码?
请各位高手指教。

解决方案 »

  1.   

    Private Sub Command1_Click()
    MsgBox DatePart("ww", Now)
    End Sub
      

  2.   

    ●function WeekOf(const AValue: TDateTime): Word; 描述: 
    根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个 
    星期。 ●function WeeksInAYear(const AYear: Word): Word; 描述: 
    WeeksInAYear 函数根据年份得到在该年份中_共包含多少个星期。 
      

  3.   

    MsgBox DateDiff("w", DateSerial(Year(Now), 1, 1), Now, vbSunday, vbFirstJan1) + 1
      

  4.   

    MSDN:MyTime 及 MyDate 在开发环境下,使用系统的短日期设置显示出来的。Dim MyTime, MyDate, MyStr
    MyTime = #17:04:23#
    MyDate = #January 27, 1993#MyStr = Format(MyDate, "dddd, mmm d yyyy")   ' 返回 "Wednesday, Jan 27 1993"。
      

  5.   

    //MsgBox DatePart("ww", Now)
    感谢northwolves(狼行天下) , 这种方法可以,
    但是只能算出当前时间,
    我想让用户输入时间,
    例如 20040722 这种形式
    myDate= Format("20040722", "yyyy-mm-dd")
    MsgBox DatePart("ww",myDate)
    我试过可是出错,还有办法吗
      

  6.   

    确实是“20040722”这种格式,可以这样:
    Private Sub Command1_Click()
    Dim mydate As String
    mydate = "20040722"
    MsgBox DatePart("ww", DateSerial(Left(mydate, 4), Mid(mydate, 5, 2), Right(mydate, 2)))
    End Sub
      

  7.   

    DatePart("ww", DateSerial(Left(mydate, 4), Mid(mydate, 5, 2), Right(mydate, 2)))
    可以,您可以解释一下这句话吗?
      

  8.   

    '首先,从工程->部件中添加Microsoft Masked Edit Control6.0
    '在窗体中添加一个MaskEdBox控件,名为MaskEdBox1,Mask属性为####-##-##,PromptChar属 性为#再添加一个按钮Command1和一个Label控件。代码如下:
    ————————————————————————
    ————————————————————————
    Private Sub Command1_Click()Label1.Caption = DatePart("ww", CDate(MaskEdBox1.Text), vbMonday, vbFirstJan1)End Sub
      

  9.   

    //DatePart("ww", DateSerial(Left(mydate, 4), Mid(mydate, 5, 2), Right(mydate, 2)))DateSerial函数的功能,按格式返回一个日期。DateSerial(Year as Integer,Month as Integer,Day as Integer)Left(mydate, 4)返回mydate的前4个字符,
    Mid(mydate, 5, 2)返回mydate从第5个字符开始的2个字符
    Right(mydate, 2)返回mydate的后两个字符。