有没有这样一个函数,输入一个日期,可以返回输入日期是这一年的第几周

loio 2004-07-22 01:20:55
例如,我输入今天日期 20040722 ,通过这个函数,可以返回30,
表示 今天是本年的第30周。VB是否有这种函数?如果没有,那么如何
编写能实现此功能的代码?
请各位高手指教。
...全文
562 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
starsoulxp 2004-07-22
  • 打赏
  • 举报
回复
//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的后两个字符。
starsoulxp 2004-07-22
  • 打赏
  • 举报
回复
'首先,从工程->部件中添加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

loio 2004-07-22
  • 打赏
  • 举报
回复
DatePart("ww", DateSerial(Left(mydate, 4), Mid(mydate, 5, 2), Right(mydate, 2)))
可以,您可以解释一下这句话吗?
northwolves 2004-07-22
  • 打赏
  • 举报
回复
确实是“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
loio 2004-07-22
  • 打赏
  • 举报
回复
//MsgBox DatePart("ww", Now)
感谢northwolves(狼行天下) , 这种方法可以,
但是只能算出当前时间,
我想让用户输入时间,
例如 20040722 这种形式
myDate= Format("20040722", "yyyy-mm-dd")
MsgBox DatePart("ww",myDate)
我试过可是出错,还有办法吗
xiaoyvr 2004-07-22
  • 打赏
  • 举报
回复
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"。

northwolves 2004-07-22
  • 打赏
  • 举报
回复
MsgBox DateDiff("w", DateSerial(Year(Now), 1, 1), Now, vbSunday, vbFirstJan1) + 1
飞天揽月 2004-07-22
  • 打赏
  • 举报
回复
●function WeekOf(const AValue: TDateTime): Word;

描述:
根据TDateTime类型的日期时间参数AValu,WeekOf函数会得到该星期为一年的第几个
星期。

●function WeeksInAYear(const AYear: Word): Word;

描述:
WeeksInAYear 函数根据年份得到在该年份中_共包含多少个星期。




northwolves 2004-07-22
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
MsgBox DatePart("ww", Now)
End Sub

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧