| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 940 人关注过本帖
标题:编程的问题求助
只看楼主 加入收藏
只为她
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2018-2-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
编程的问题求助
编程:输入一个日期,输出该日期所在月的天数。
搜索更多相关主题的帖子: 编程 输入 日期 输出 天数 
2018-02-20 09:30
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
ddate=date(2016,02,29)
?Day(Gomonth(Date(Year(dDate),Month(dDate),1),1)-1)

坚守VFP最后的阵地
2018-02-20 18:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:7 
尽管明显是作业题,但过年心情好,还是解答一下:
VFP有个在指定日期上加N个月的函数,我们可以利用在指定日期上加一个月的日期再减去指定的日期,就可以得到指定日期月份的天数。即:
ddate=date(2018,2,21)
?gomonth(ddate,1)-ddate
屏幕显示:28


活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2018-02-21 10:40
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:991
专家分:4966
注 册:2013-2-16
收藏
得分:7 
再提供一个思路吧,某个日期所在月份的最后一天可能是 30 、31、28、29 ,这是我们无法确定的,
但是,他的下一个月的头一天一定是 :年.(月+1).01 对不对?也就是说下月的头一天是很好求得的,
那么 就用这个 年.(月+1).01 再减去一天,得到的日期值,就是这个月的最后一天。
再用day()提取出天数即可。根据这个思路,可以写一个Func()
dd1=CTOD('2012.2.20')
? IIF(MONTH(dd1) =12 ,31, DAY( DATE(YEAR(dd1) ,MONTH(dd1) + 1 ,1) -1 ))  && 返回值类型:整数形
当然,这个思路要避开月份是12月的,因为12月的日期,下月头一天,年份要加1 ,月份要改为1,
这样反而麻烦,所以上述语句再用一个IIF()结构,直接把月份=12的给出一个固定值31就可以了。
语句没有上面两位前辈精简,但是很好理解。
2018-02-25 11:40
快速回复:编程的问题求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047663 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved