以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11519) |
-- 作者:blackzhu -- 发布时间:2011/8/1 8:28:00 -- 日期的问题 2011-4-30 到 2011-6-2 按照我们做法利用datediff 可以算出 M月数 d天数 但是这个 时间段按照上面的算法,月数是2个月 天数是33天,但是实际的是1个月多三天.所以如果我有三个列 周期月数 周期天数 多余天数 1 33 3 这个怎么做?因为每一个月的天数是不同的? |
-- 作者:don -- 发布时间:2011/8/1 8:31:00 -- 参照Format大师的年月日(易表)算法 |
-- 作者:blackzhu -- 发布时间:2011/8/1 8:43:00 -- 不明白,能举个例子吗? |
-- 作者:狐狸爸爸 -- 发布时间:2011/8/1 8:49:00 -- 算出月数后,用第一个日期加上这个月数(AddMonths),如果大于第二个日期,那么正确的月数就是这个月数减1 [此贴子已经被作者于2011-8-1 8:49:33编辑过]
|
-- 作者:don -- 发布时间:2011/8/1 8:50:00 -- Dim n1,n2 As Integer Dim d1,d2,d As Date d1 =#4/30/2011# d2=#6/2/2011# n1=datediff("m",d1,d2) d=d1.AddMonths(n1) n1=n1- iif(d2<d,1,0) Output.Show(n1) |
-- 作者:blackzhu -- 发布时间:2011/8/1 8:51:00 -- 我研究一下 |
-- 作者:blackzhu -- 发布时间:2011/8/1 8:58:00 -- 但是我如何判断这个月的天数呢,我还要算多余的天数的呀 |
-- 作者:don -- 发布时间:2011/8/1 9:00:00 -- d2-d1.Addmonths(n) |
-- 作者:blackzhu -- 发布时间:2011/8/1 9:17:00 -- 我怎么算出来多余天数是5天.不对的吧? |
-- 作者:狐狸爸爸 -- 发布时间:2011/8/1 9:33:00 -- Dim n1,n2 As Integer Dim d1,d2,d As Date d1 =#4/30/2011# d2=#6/2/2011# n1=datediff("m",d1,d2) d = d1.AddMonths(n1) n1= n1 - iif(d2<d,1,0) Output.Show("月数:" & n1) output.show("多余天数:" & (d2 - d1.AddMonths(n1)).Totaldays) |