以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  获得前三个月所在月的第一天  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=166068)

--  作者:18920118515
--  发布时间:2021/5/17 11:51:00
--  获得前三个月所在月的第一天
老师,我要计算前三个月的产品月均销量以便与库存做对比,已知取本月第一天和最后一天的方法,请您指教一下,如果我要得到前三个月的第一天的数据怎么写代码?

Dim d As Date = e.Form.Controls("DateTimePicker1").value
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim FD As Date = New Date(y,m,1) \'获得该月的第一天
Dim LD As Date = New Date(y,m,Days) \'获得该月的最后一天

如果e.Form.Controls("DateTimePicker1").value=2021-05-05
我要得到3月份第一天,代码如何写,您受累给指导下

--  作者:有点蓝
--  发布时间:2021/5/17 11:54:00
--  
dim d as date  = cdate("2021-05-05").addmonths(-3)
Dim FD As Date = New Date(d.Year,d.Month,1) 
msgbox(fd)

--  作者:18920118515
--  发布时间:2021/5/17 12:01:00
--  
谢谢老师


--  作者:lihe60
--  发布时间:2021/5/17 12:44:00
--  
dim d as date  = cdate("2021-05-05").addmonths(-3)
Dim FD As Date = New Date(d.Year,d.Month,1) 

可以封成一个函数吗?

--  作者:有点蓝
--  发布时间:2021/5/17 13:43:00
--  
以下是引用lihe60在2021/5/17 12:44:00的发言:
dim d as date  = cdate("2021-05-05").addmonths(-3)
Dim FD As Date = New Date(d.Year,d.Month,1) 

可以封成一个函数吗?

dim d as date  = cdate(args(0)).addmonths(-3)
return New Date(d.Year,d.Month,1) 

调用
Dim FD As Date = Functions.Execute("abc","2021-05-05")