Office中国论坛/Access中国论坛
标题: 如何获得上月的实际天数? [打印本页]
作者: ouxingwang 时间: 2004-2-10 02:59
标题: 如何获得上月的实际天数?
看了旧贴,有如何获得当前日期的本月实际天数,现在我想获得当前日期上月的实际天数,请各位高手帮我改一改以下代码(该代码是如何获得当前日期的本月天数):
Public Function MonthDays(strday As Date) As Integer '取得月份中的天数函数
Dim MonthfristDay, nextMonthfristDay As Date
MonthfristDay = DateAdd("d", -Day(strday) + 1, strday) '当月第一天
nextMonthfristDay = DateAdd("M", 1, DateAdd("d", -Day(strday) + 1, strday)) '下月第一天
MonthDays = DateDiff("d", MonthfristDay, nextMonthfristDay)
End Function
[此贴子已经被作者于2004-2-9 19:39:06编辑过]
作者: hi-wzj 时间: 2004-2-10 04:34
Function 本月天数(日期 As Date) As Byte
本月天数 = DateSerial(Year(日期), Month(日期) + 1, Day(日期)) - 日期
End Function
同理上月的天数就是将加1改为减1。
更多相关的例子可看:http://accessoft.com/Article_Show.asp?ArticleID=54
[此贴子已经被作者于2004-2-9 20:44:04编辑过]
作者: cg1 时间: 2004-2-10 04:42
.
如何得知一个月有多少天,最后一天的日期是多少?
作者:ec 更新日期:2003-3-15 浏览人次:87
专题地址:http://access911.net/index.asp?board=4&recordid=73FAB61E10DC
问题:
如何得知一个月有多少天,最后一天的日期是多少?
方法一:
txtCurrentMonthFirstDay.Defaultvalue=FORMat(Now(),"yyyy-mm") & "-1"
txtCurrentMonthLastDay.Defaultvalue=DateAdd("m",1,(FORMat(Now(),"yyyy-mm") & "-1"))-1
方法二:
以下以6月为例说明:
用函数 dateserial(2002,6,1) 可以返回 2002-6-1
用函数 dateserial(2002,7,1)-1 可以返回 2002-6-30
取到某年某月的下一个月的一号减去一天就是了!
Function EndOfMonth(D As Variant) As Variant
EndOfMonth = DateSerial(Year(D), Month(D) + 1, 0)
End Function
录入:changechange(CSDN) 责任编辑:cg1
作者: ouxingwang 时间: 2004-2-10 15:12
感谢2楼对我的指点,我把"+1",改为“-1”(我需要当前系统日期的上一个月的实际天数),系统提示“运行时错误,溢出”。我不知是什么原因,请版主继续指点为盼。
作者: hi-wzj 时间: 2004-2-12 05:16
抱歉,是我回答问题太马虎了。公式应该是:
日期 - DateSerial(Year(日期), Month(日期) - 1, Day(日期))
因为是本日期(大的值)减上月同日的值(小值)才对。
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |