Foxtable(狐表)用户栏目专家坐堂 → 保质期按月标识,求教有效日期期方法。


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

主题:保质期按月标识,求教有效日期期方法。

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
保质期按月标识,求教有效日期期方法。  发帖心情 Post By:2021/8/3 14:47:00 [只看该作者]

生产日期2021-08-03  质保期12个月  到期日期 2021-08-02

Select Case e.DataCol.Name
    Case
"生产日期","质保期"
        If e.DataRow.IsNull("生产日期") Then
            e.
DataRow("到期日期") = Nothing
        Else

            e.
DataRow("到期日期") = e.DataRow("生产日期").AddMonths(e.DataRow("
质保期"))
        End
If
End
Select



生产日期2021-08-03  质保期12个月  到期日期 2021-08-03      怎么提前一天?  


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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/3 14:49:00 [只看该作者]

e.DataRow("到期日期") = e.DataRow("生产日期").AddMonths(e.DataRow("质保期")).adddays(-1)

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
  发帖心情 Post By:2021/8/3 16:26:00 [只看该作者]

谢谢!

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
  发帖心情 Post By:2021/8/11 11:52:00 [只看该作者]

e.DataRow("到期日期") = e.DataRow("生产日期").AddMonths(e.DataRow("质保期")).adddays(-1)

这个不严谨,遇到到期日2月份,就不合适,
生产日期 2021年8月31日,保质期6个月,应该到期日2022年2月28日  代码执行结果是2022年2月27日 
应该怎么改?
求解!

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 11:56:00 [只看该作者]

dim d as date = e.DataRow("生产日期").AddMonths(e.DataRow("质保期"))
if d.month <> 2 then 
d = d.adddays(-1)
end if
e.DataRow("到期日期") = s

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
  发帖心情 Post By:2021/8/11 12:54:00 [只看该作者]

这个按月判断肯定不合适,首先2月1- 28日都没问题,只有生产日期在29-31日 当有效期落到2月底才有问题,应该按日期来判断,另外还要考虑闰年的情况下。

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/11 13:45:00 [只看该作者]

测试没有问题,请举例说明

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
  发帖心情 Post By:2021/8/12 14:37:00 [只看该作者]

测试下  生产日期2021年8月31日  质保期6个月   看下到期日期应该是2022年2月28日

该代码  生成日期2022年2月27日。

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


加好友 发短信
等级:超级版主 帖子:107718 积分:547917 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/8/12 14:39:00 [只看该作者]

确定是使用5楼的代码测试的?!!

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


加好友 发短信
等级:幼狐 帖子:51 积分:633 威望:0 精华:0 注册:2011/3/27 15:11:00
  发帖心情 Post By:2021/8/13 11:55:00 [只看该作者]


Dim d As Date = e.DataRow("生产日期").AddMonths(e.DataRow("质保期"))
If d.month <> 2 Then
    d = d.adddays(-1)
End If
e.DataRow("到期日期") = e.DataRow("生产日期").AddMonths(e.DataRow("质保期")).adddays(-1)


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