Foxtable(狐表)用户栏目专家坐堂 → 请问如何确定两个日期之间有几个星期一?


  共有6256人关注过本帖树形打印复制链接

主题:请问如何确定两个日期之间有几个星期一?

帅哥哟,离线,有人找我吗?
xfilemark
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:960 威望:0 精华:0 注册:2013/4/9 3:23:00
请问如何确定两个日期之间有几个星期一?  发帖心情 Post By:2013/5/31 16:39:00 [只看该作者]

请问诸位师傅大侠:如何确定两个日期之间有几个星期一?

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/31 16:44:00 [只看该作者]

循环两个日期之间的每一天.判断这一天是星期几  然后累计.

 回到顶部
帅哥哟,离线,有人找我吗?
xfilemark
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:960 威望:0 精华:0 注册:2013/4/9 3:23:00
  发帖心情 Post By:2013/5/31 16:45:00 [只看该作者]

有什么方法或函数没?

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/5/31 16:50:00 [只看该作者]

没有的,只能自己写代码:

 

Dim dt1 As Date = #1/1/2012#
Dim dt2 As Date = #5/20/2012#
Dim dt As Date
Dim cnt As Integer
For i As Integer = 0 To (dt2-dt1).TotalDays
    dt = dt1.AddDays(i)
    If dt.DayOfWeek = 1 Then
        cnt = cnt + 1
    End If
Next
output.show(cnt)


 回到顶部
帅哥哟,离线,有人找我吗?
xfilemark
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:960 威望:0 精华:0 注册:2013/4/9 3:23:00
  发帖心情 Post By:2013/5/31 17:01:00 [只看该作者]

非常谢谢 FoxFather和Bin。
FoxFather总能非常清晰地抓住我需求的关键点。尽管我的表达能力差地要命!   :-)

 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/31 17:36:00 [只看该作者]

以下是引用狐狸爸爸在2013-5-31 16:50:00的发言:

没有的,只能自己写代码:

 

Dim dt1 As Date = #1/1/2012#
Dim dt2 As Date = #5/20/2012#
Dim dt As Date
Dim cnt As Integer
For i As Integer = 0 To (dt2-dt1).TotalDays
    dt = dt1.AddDays(i)
    If dt.DayOfWeek = 1 Then
        cnt = cnt + 1
    End If
Next
output.show(cnt)


=====================

這太低效了吧!


Dim dt1 As Date = #1/1/2000#

Dim dt2 As Date = #12/1/2012#

Dim n1 As Integer


n1 =dt1.DayOfWeek

dt1 = dt1.addDays(1-n1 )

dt2 = dt2.addDays(1-n1)

n1 = Int(((dt2-dt1).TotalDays+1)/7)+1

If  dt2.DayOfWeek = 1 Then n1+=1


Output.Show(n1)




[此贴子已经被作者于2013-5-31 18:45:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/1 10:23:00 [只看该作者]

呵呵,你这个太伤脑细胞了。

 回到顶部
帅哥哟,离线,有人找我吗?
xfilemark
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:121 积分:960 威望:0 精华:0 注册:2013/4/9 3:23:00
  发帖心情 Post By:2013/6/1 10:32:00 [只看该作者]

论坛里绝顶高手如云,让学习过程也变得非常过瘾!!!

:-)

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/6/1 10:52:00 [只看该作者]

N1= (dt2-dt1-n1)\7

 回到顶部
帅哥哟,离线,有人找我吗?
don
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/6/1 12:09:00 [只看该作者]

以下是引用狐狸爸爸在2013-6-1 10:23:00的发言:
呵呵,你这个太伤脑细胞了。
哈哈,還真是個簡單快樂人啊!可惜投錯了胎,上天讓你做個編程的人,不由你了!


 回到顶部
总数 14 1 2 下一页