以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  添加或减去的值产生无法表示的 DateTime  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92619)

--  作者:liu1992
--  发布时间:2016/11/8 16:53:00
--  添加或减去的值产生无法表示的 DateTime
Dim dt As Date =  e.DataRow("月首日")
        Dim dr As DataRow = e.DataRow
        

        Dim dt2 As Date = dt.AddMonths(-1)  \'提前收,月数减1
        Dim dt3 As Date = dt.AddMonths(-2)  \'提前收,月数减2
        Dim dt4 As Date = dt.AddMonths(-3)  \'提前收,月数减3
        Dim dt5 As Date = dt.AddYears(1)
        Dim month As Integer = dt.month


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20161108164814.png
图片点击可在新窗口打开查看

字段“月首日”是date属性。黄色这一段代码好像有问题,是addmonths()有问题吗?

--  作者:wyz20130512
--  发布时间:2016/11/8 17:02:00
--  
传实例看看.
--  作者:有点蓝
--  发布时间:2016/11/8 17:32:00
--  
截图看看"月首日"的数据
--  作者:有点色
--  发布时间:2016/11/8 18:36:00
--  

 应该是你系统日期格式的问题

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=82970&replyID=574979&skin=1

 

http://jingyan.baidu.com/article/647f0115925aee7f2148a8b5.html


--  作者:liu1992
--  发布时间:2016/11/9 10:39:00
--  


试过调整自己电脑上的时间格式和服务器上的了,但是还是不行。
另外,如果把.AddMonths(-1)改成.AddMonths(1)就不会报这个错。

[此贴子已经被作者于2016/11/9 15:29:08编辑过]

--  作者:有点蓝
--  发布时间:2016/11/9 11:34:00
--  
按什么步骤操作会出现这个错误?
--  作者:liu1992
--  发布时间:2016/11/9 11:37:00
--  
按重置"合同号","收租方式","年月","本月租金"会出错
--  作者:有点蓝
--  发布时间:2016/11/9 11:55:00
--  
221行月首日为空值,使用的时候判断一下

Select Case e.DataCol.name
    Case "合同号","收租方式","年月","本月租金"
\'\'dt = e.DataRow("月首日")
        If e.DataRow.IsNull("月首日") Then Return 
        Dim dt As Date =  e.DataRow("月首日")
        Dim dr As DataRow = e.DataRow