如何判断两个日期是否在同一周呢?

Hotus 2009-09-27 12:27:56
如何判断两个日期是否在同一周呢?
...全文
906 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
IMUSTWorking 2009-09-28
  • 打赏
  • 举报
回复
樓上的結果綜合一下,就可以了。
我就幫頂一下吧。
SYSSZ 2009-09-28
  • 打赏
  • 举报
回复
也可以用MonthView的week属性判断
SYSSZ 2009-09-28
  • 打赏
  • 举报
回复
Private Sub Form_Load()
Dim k As Integer
k = Abs(DatePart("ww", "2009-04-18") - DatePart("ww", "2009-09-26"))
If k = 0 Then
MsgBox "在同一周"
Else
MsgBox "不在同一周,相差" & k & "周"
End If
End Sub
hanvan 2009-09-27
  • 打赏
  • 举报
回复
datediff("ww", d1, d2, vbMonday)
Hotus 2009-09-27
  • 打赏
  • 举报
回复
好像有点问题
If DateDiff("ww", "2009-09-22", "2009-09-27") = 0 Then
MsgBox "a"
Else
MsgBox "b"
End If
这个是在同一周,但是显示的不在同一周,这个好像是以星期天作为第1天
hanvan 2009-09-27
  • 打赏
  • 举报
回复
if datediff("ww", d1, d2) = 0 then

end if
贝隆 2009-09-27
  • 打赏
  • 举报
回复
就是同一年的日期,不可能同一周?
稀有动物 2009-09-27
  • 打赏
  • 举报
回复
date1 = "2009-09-22"
date2 = "2009-09-28"
'vbSunday 1 星期日 星期天为一周开始
'vbMonday 2 星期一 星期一为一周开始
'ww 周 两日期间的“日历周”数

If DateDiff("ww", date1, date2, vbSunday) = 0 Then
MsgBox "这两个日期在同一周"
End If
king06 2009-09-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 luofenghen 的回复:]
引用 10 楼 luofenghen 的回复:
3楼误解
datediff("d", d1, d2, vbMonday)

貌似这样也错了

[/Quote]
你仔细看看你引用的是3楼的还是自己的哦,人家是"ww",你用的是啥
luofenghen 2009-09-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 luofenghen 的回复:]
3楼误解
datediff("d", d1, d2, vbMonday)
[/Quote]
貌似这样也错了

Function DateDiff(Interval As String, Date1, Date2, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1])
VBA.DateTime 的成员
返回两个指定日期之间的时间间隔

只是求出时间间隔,没达到楼主要求判断是不是在同一个星期,你们可以用9-23和9-28号试下 就可以得出答案 是错误的
luofenghen 2009-09-27
  • 打赏
  • 举报
回复
3楼误解
datediff("d", d1, d2, vbMonday)
赵4老师 2009-09-27
  • 打赏
  • 举报
回复
3楼正解
yachong 2009-09-27
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
If DatePart("ww", "2009-09-22", vbMonday) = DatePart("ww", "2009-09-21", vbMonday) Then
MsgBox "同一周"
Else
MsgBox "不是同一周"
End If
End Sub

假设两个日期年份相同,如果跨年份就麻烦了一点
king06 2009-09-27
  • 打赏
  • 举报
回复
3楼的也许达到楼主要求了,来个折腾点的
Private Sub Command1_Click()
Dim blnYN As Boolean
Dim date1 As Date, date2 As Date
date1 = "2009-09-22"
date2 = "2009-09-27"
If DateDiff("d", date1, date2, vbMonday) < 7 Then
If date1 = date2 Then
blnYN = True
Else
If date1 < date2 Then
blnYN = Weekday(date1, vbMonday) < Weekday(date2, vbMonday)
Else
blnYN = (Weekday(date1, vbMonday) > Weekday(date2, vbMonday))
End If
End If
End If
End Sub
chillystar 2009-09-27
  • 打赏
  • 举报
回复
if abs(datatime1-datatime2)>7 then msgbox("两天差超过一周")
神马都能聊 2009-09-27
  • 打赏
  • 举报
回复
看日期相减是否与分别求出两个日期的weekday相减得到的差值相等
of123 2009-09-27
  • 打赏
  • 举报
回复

“同一周”的定义是什么?

1,488

社区成员

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

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