日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一些时间日期函数,转自华软

發(fā)布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一些时间日期函数,转自华软 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?可以直接賦值給變量,不用寫成函數(shù)形式的。另函數(shù)適用于pb6.5,一個漢字占兩個字節(jié),如果用于pb8.0以上請根據(jù)實際情況修改

//1.生肖(年份參數(shù):int ls_year 返回參數(shù):string):

mid(fill('鼠牛虎兔龍蛇馬羊猴雞狗豬',48),(mod(ls_year -1900,12)+13)*2 -1,2)

?

//2.天干地支(年份參數(shù):int ls_year 返回參數(shù):string):

mid(fill('甲乙丙丁戊己庚辛壬癸',40),(mod(ls_year -1924,10)+11)*2 -1,2)+mid(fill('子丑寅卯辰巳午未申酉戌亥',48),(mod(ls_year -1924,12)+13)*2 -1,2)

?

//3.星座(日期參數(shù):date ls_date 返回參數(shù):string):

mid("摩羯水瓶雙魚白羊金牛雙子巨蟹獅子處女天秤天蝎射手摩羯",(month(ls_date)+sign(sign(day(ls_date) -(19+integer(mid('102123444423',month(ls_date),1))))+1))*4 -3,4)+'座'

?

//4.判斷閏年(年份參數(shù):int ls_year 返回參數(shù):int 0=平年,1=閏年):

abs(sign(mod(sign(mod(abs(ls_year),4))+sign(mod(abs(ls_year),100))+sign(mod(abs(ls_year),400)),2)) -1)

?

//5.某月天數(shù)(日期參數(shù):date ls_date 返回參數(shù):int):

integer(28+integer(mid('3'+string(abs(sign(mod(sign(mod(abs(year(ls_date)),4))+sign(mod(abs(year(ls_date)),100))+sign(mod(abs(year(ls_date)),400)),2)) -1))+'3232332323',month(ls_date),1)))

?

//6.某月最后一天日期(日期參數(shù):date ls_date 返回參數(shù):date): date(year(ls_date),month(ls_date),

integer(28+integer(mid('3'+string(abs(sign(mod(sign(mod(abs(year(ls_date)),4))+sign(mod(abs(year(ls_date)),100))+sign(mod(abs(year(ls_date)),400)),2)) -1))+'3232332323',month(ls_date),1))))

?

//7.另一個求某月最后一天日期(日期參數(shù):date ls_date 返回參數(shù):date):

a. RelativeDate (date(year(ls_date)+sign(month(ls_date) -12)+1,mod(month(ls_date)+1,13)+abs(sign(mod(month(ls_date)+1,13)) -1),1),-1) b. RelativeDate(date(year(ls_date)+integer(month(ls_date)/12),mod(month(ls_date),12)+1,1),-1)

?

//8.另一個求某月天數(shù)(日期參數(shù):date ls_date 返回參數(shù):int):

a. day(RelativeDate (date(year(ls_date)+sign(month(ls_date) -12)+1,mod(month(ls_date)+1,13)+abs(sign(mod(month(ls_date)+1,13)) -1),1),-1))

b. day(RelativeDate(date(year(ls_date)+integer(month(ls_date)/12),mod(month(ls_date),12)+1,1),-1))

?

//9.某月某日星期幾--同PB系統(tǒng)函數(shù)DayName(日期參數(shù):date ls_date 返回參數(shù):string):

'星期'+mid('日一二三四五六',(mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + daysafter(date(year(ls_date),1,1),ls_date)+1,7)+1)*2 -1,2)

?

//10.求相隔若干月份后的相對日期(日期參數(shù):date ls_date 相隔月份(可取負(fù)數(shù)):int ls_add_month 返回參數(shù):date):

date(year(ls_date)+int((month(ls_date)+ls_add_month)/13),long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2)),day(ls_date) -integer(right(left(string(day(RelativeDate (date(year(ls_date)+int((month(ls_date)+ls_add_month)/13)+sign(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2)) -12)+1,mod(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2))+1,13)+abs(sign(mod(long(mid(fill('010203040506070809101112',48),(mod(month(ls_date)+ls_add_month -1,12)+13)*2 -1,2))+1,13)) -1),1),-1)) -day(ls_date),'00')+'00000',5),3))/100)

?

//11.求某日在當(dāng)年所處的周數(shù)(日期參數(shù):date ls_date 返回參數(shù):int): //a.周始日為星期天

//a1 abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + 1,7) +1),ls_date)+1)/7))) //a2(使用DayNumber函數(shù)) abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -DayNumber(date(year(ls_date),1,1))+1),ls_date)+1)/7))) //b.周始日為星期一 //b1 abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -integer(mid('6012345',mod(year(ls_date) -1 + int((year(ls_date) -1)/4) - int((year(ls_date) -1)/100) + int((year(ls_date) -1)/400) + 1,7),1))),ls_date)+1)/7)))

//b2(使用DayNumber函數(shù)) abs(int(-((daysafter( RelativeDate(date(year(ls_date),1,1), -integer(mid('6012345',DayNumber(date(year(ls_date),1,1)),1))),ls_date)+1)/7)))

?

//12.求某日相對于過去某一日期所處的周數(shù)(日期參數(shù):date ls_date_1(要求的某日),ls_date_2(過去的某日) 返回參數(shù):int): //注:ls_date_1>ls_date_2

//a.周始日為星期天 //a1 abs(int(-((daysafter( RelativeDate(ls_date_2, -mod(year(ls_date_2) -1 + int((year(ls_date_2) -1)/4) - int((year(ls_date_2) -1)/100) + int((year(ls_date_2) -1)/400) + daysafter(date(year(ls_date_2),1,1),ls_date_2)+ 1,7) +1),ls_date_1)+1)/7)))

//a2(使用DayNumber函數(shù)) abs(int(-((daysafter( RelativeDate(ls_date_2, -DayNumber(ls_date_2)+1),ls_date_1)+1)/7)))

//b.周始日為星期一 //b1 abs(int(-((daysafter( RelativeDate(ls_date_2, -integer(mid('6012345',mod(year(ls_date_2) -1 + int((year(ls_date_2) -1)/4) - int((year(ls_date_2) -1)/100) + int((year(ls_date_2) -1)/400) + daysafter(date(year(ls_date_2),1,1),ls_date_2)+ 1,7) ,1))),ls_date_1)+1)/7)))

//b2(使用DayNumber函數(shù)) abs(int(-((daysafter( RelativeDate(ls_date_2, -integer(mid('6012345',DayNumber(ls_date_2),1))),ls_date_1)+1)/7)))

?

13 PB中 DaysAfter ( date1, date2 ) 只能返回日期類型相差天數(shù),SecondsAfter ( time1, time2 )只能返回時間相差妙,沒有真對日期時間類型的函數(shù),可以用下面一條語句實現(xiàn):

lont ll_allseconds

datetime ldt_bgn,ldt_end

ll_allseconds=(daysafter(date(ldt_bgn),date(ldt_end))*86400+SecondsAfter(time(ldt_bgn),time(ldt_end)))

總結(jié)

以上是生活随笔為你收集整理的一些时间日期函数,转自华软的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。