国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

關于日期天數計算的幾個函數!

2024-07-21 02:07:51
字體:
來源:轉載
供稿:網友
關于日期天數計算的幾個函數!
今天早上突然要用到一個計算某月有多少天的函數,翻了半天沒找到系統自帶著中函數,于是動手寫了一個,如下:

**返回某個月有多少天function howmonthday()   parameters cdate   local days as integer ,years as integer    if !type("cdate")=="d"      messagebox("參數類型不正確,應該為日期型","系統提示!")      return    endif       days=iif(inlist(month(cdate),1,3,5,7,8,10,12),31,30)   **閏年計算方法   years=year(cdate)   if month(cdate)==2      days = iif(years%400==0 or (years%4==0 and years%100<>0),29,28)   endif    return daysendfunc  

后來鄭宇大哥給我提供了一個返回月底的函數。如下:
procedure edom* function: 返回本月月底* m.l.y 1998.8.8parameters date_todayprivate allset date to ansiset century onif month(date_today) < 12    return ctod(str(year(date_today),4,0) + "." ;              + str(month(date_today)+1,2,0) + ".01") - 1else    return edoy(date_today)endif
思量了半天發現返回月底可能還要簡單一點,我改進了一下:

cdate=date()

??cdate+(32-day(cdate))-day(cdate+(32-day(cdate)))

最后用這個思路改進了一下返回某月有多少天的函數,如下:

function howmonthday()   parameters cdate   local days as integer    if !type("cdate")=="d"      messagebox("參數類型不正確,應該為日期型","系統提示!")      return    endif       days=day(cdate+(32-day(cdate))-day(cdate+(32-day(cdate))))   return daysendfunc  

其實最重要的只有一句:days=day(cdate+(32-day(cdate))-day(cdate+(32-day(cdate))))也不用管閏年平年了,省事。

要是返回月底,那這句改為:cdate+(32-day(cdate))-day(cdate+(32-day(cdate))) 即可

原理就是根據增加值來計算當月的下一個月超出幾天,然后減去幾天就是當月的最后一天了。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 湘潭县| 永城市| 长宁区| 扎囊县| 金湖县| 腾冲县| 栾川县| 昌平区| 德惠市| 罗定市| 临沧市| 武鸣县| 邹平县| 迭部县| 新密市| 淮北市| 信丰县| 金坛市| 康保县| 汪清县| 沙田区| 江口县| 河源市| 怀柔区| 彰武县| 赫章县| 阿城市| 台东市| 桑植县| 比如县| 靖远县| 民权县| 莆田市| 新郑市| 靖江市| 边坝县| 永宁县| 盖州市| 五寨县| 上饶市| 佛冈县|