以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  date.addmonths方法有问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=55829)

--  作者:lrj03
--  发布时间:2014/8/24 1:27:00
--  date.addmonths方法有问题?

在命令窗口执行代码:

Dim d1 As Date
d1=new Date(2014,1,31)
output.show(d1)
For i As Integer=1 To 8
d1=d1.AddMonths(1)     
output.show(d1)
Next

 

结果是:

2014/1/31
2014/2/28
2014/3/28      错误的值!
2014/4/28
2014/5/28
2014/6/28
2014/7/28
2014/8/28
2014/9/28

 

改代码为:

Dim d1,d2 As Date
d1=new Date(2014,1,31)
output.show(d1)
For i As Integer=1 To 8
d2=d1.AddMonths(i)
output.show(d2)
Next

 

结果是:

2014/1/31      ’正确的值!
2014/2/28
2014/3/31
2014/4/30
2014/5/31
2014/6/30
2014/7/31
2014/8/31
2014/9/30

date.addmonths方法有问题?

 


--  作者:有点甜
--  发布时间:2014/8/24 14:11:00
--  

 不能直接用AddMouths

 

 你需要先查询当月最后一天,然后重新new date()

 

 参考

 

http://www.foxtable.com/help/topics/0265.htm

 

http://www.foxtable.com/help/topics/1337.htm

 

 


--  作者:lrj03
--  发布时间:2014/9/14 3:30:00
--  
多一个代码过程,先算月,再算最大天数,再得出当月最后一天的日期
--  作者:程兴刚
--  发布时间:2014/9/14 7:48:00
--  
仔细检查逻辑,是没有问题的!