久久这里只有精品国产99-久久这里只有精品2-久久这里只有精品1-久久这里只精品热在线99-在线少女漫画-在线涩涩免费观看国产精品

利用自定義函數處理兩個時間的差值和均值問題

來源:期刊VIP網所屬分類:水利時間:瀏覽:

  Abstract:This article gives a computer-defined function, descriptive the design mentality and the source code of the function process, expounds this method simplicity, versatility, easy operational and reliability, and introduce its service condition unified the application example.
  Keywords:hydrological data;time interpolation;time average;function;example
  摘 要: 本文給出一個計算機自定義函數,敘述了該函數過程的設計思路和源程序代碼,闡明了此方法的簡單性、通用性、易操作性和可靠性,并結合應用實例介紹了其使用情況。
  關鍵詞: 水文資料 時間差值和均值 函數 舉例
  中圖分類號:O174 文獻標識碼:A 文章編號:
  1問題的提出
  在工作實踐中,經常需要我們對一個時間段進行各類操作,比如計算兩個時間的歷時即差值,兩個時間的中間時間即均值。如果該差值是很小的,不難由人工直接計算這兩項數據,而在計算機進行運算和管理時卻變成了一個復雜的過程。因為,這兩個時間往往都是日期-時間型數據,各類軟件開發工具均未能直接給出它們的關系運算函數,或只是對日期和時間分別給出簡單的運算,實踐中遇到的跨日、跨月甚至跨年度的時間段的處理會給我們帶來更大難度。從水文測驗過程到水情拍報乃至資料整編,都常常遇到這一問題,給計算機處理帶來極大的不便。為此,筆者經過摸索和反復驗證,給出一個成熟可靠的自定義函數,調入計算機內存后便可靈活地對任意兩個日期——時間型數據進行操作。
  2自定義函數的設計
  2.1設計思路
  構造該函數過程,按不同的參數返回(Return)兩個不同結果,即時間差值和均值。該函數有5個參數,分別設定為第一時間的日期和時分dat1和tim1、第二時間的日期和時分dat2和tim2 ,控制函數返回差值或均值參數cs(Integer型),取1或0 ,于是給出函數型式Op_DateTime(dat1,tim1,dat2,tim2,cs)。比較出兩個日期-時間型數據的較小者,提取其中的年份并以該年份的1月1日00:00時為參照時間,如此就會最簡單地使用系統函數計算出兩個時間分別同這一參照時間的差值,換算為分鐘,則這兩個差值的差即為所求差值。將該差值除以2,按年月日時規則,通過循環數據結構控制累加到第一時間,即為所求均值。
  2.2函數源代碼(PowerScript腳本)
  //函數形式 Op_DateTime(dat1,tim1,dat2,tim2,cs)
  //返回值jisuan_date_time為 String 型
  //dat1、dat2為Date型,tim1、tim2為Time型, cs為Integer 型
  //cs = 1函數返回差值,否則返回均值
  //下面聲明程序使用的變量,考慮分鐘等數值過大,盡量使用Long和Decimal型
  Date dat,dat0
  Time tim
  Long tianshu1,tianshu2,ztime,xiaoshi,yue,tian,shi,fen
  Long jisuan_d jisuan_m,jisuan_y,i,m_2
  Dec fenzhong
  String jisuan_date_time = ""
  //如果給定的第一時間大于第二時間,則交換一下位置
  IF DateTime(dat1,tim1) > DateTime(dat2,tim2) THEN
  dat = dat1
  dat1 = dat2
  dat2 = dat
  tim = tim1
  tim1 = tim2
  tim2 = tim
  END IF
  dat0 = Date(Year(dat1),1,1) //虛擬第一時間年份的1月1日00:00時做參照時間
  tianshu1 = DaysAfter(dat0,dat1) //取得第一時間同參照時間的之間的天數
  tianshu2 = DaysAfter(dat0,dat2) //取得第二時間同參照時間的之間的天數
  //計算兩個時間之間總分鐘數
  ztime = tianshu2 * 1440 + Hour(tim2) * 60 + Minute(tim2)
  ztime = ztime - (tianshu1 * 1440 + Hour(tim1) * 60 + Minute(tim1))
  IF cs = 1 THEN
  jisuan_date_time = String(Ztime) //得到參數為1時的時間間隔(分鐘,String型)
  ELSE //參數不為1時,推算兩個時間的中值或叫均值
  jisuan_d = Day(dat1) //得到第一時間中的天數
  jisuan_m = Month(dat1) //得到第一時間中的月份
  jisuan_y = Year(dat1) //得到第一時間中的年度
  fenzhong = Minute(tim1) + Ztime/2
  i = 0
  DO UNTIL fenzhong <= 32766 //將分鐘變得足夠小,以便下邊能取Integer
  fenzhong = fenzhong - 32766 //并要保證分鐘整數部分原有的奇和偶
  i = i + 1
  LOOP
  IF fenzhong > Int(fenzhong) THEN //考慮逢5奇進偶舍
  IF Int(fenzhong)/2 = Int(Int(fenzhong)/2) THEN
  fenzhong = Int(fenzhong)
  ELSE
  fenzhong = Int(fenzhong) + 1
  END IF
  END IF
  fenzhong = fenzhong + 32766 * i
  fen = Mod(fenzhong,60) //取余數得到平均時間的分鐘值
  xiaoshi = Int(fenzhong/60) + Hour(tim1)
  shi = Mod(Dec(xiaoshi),24) //取余數得到平均時間的小時值
  tian = Int(xiaoshi/24) //取整數得到進位的天數
  IF tian > 0 THEN
  FOR i = 1 TO tian //按不同的月份和年份逐日進位
  CHOOSE CASE jisuan_m
  CASE 1,3,5,7,8,10,12
  IF jisuan_d < 31 THEN
  jisuan_d = jisuan_d + 1
  ELSE
  jisuan_d = 1
  IF jisuan_m = 12 THEN
  jisuan_m = 1
  jisuan_y = jisuan_y + 1
  ELSE
  jisuan_m = jisuan_m + 1
  END IF
  END IF
  CASE 2
  IF jisuan_y = Int(jisuan_y/4) * 4 THEN //考慮閏年情況
  m_2 = 29
  ELSE
  m_2 = 28
  END IF
  IF jisuan_d < m_2 THEN
  jisuan_d = jisuan_d + 1
  ELSE
  jisuan_d = 1
  jisuan_m = jisuan_m + 1
  END IF
  CASE ELSE
  IF jisuan_d < 30 THEN
  jisuan_d = jisuan_d + 1
  ELSE
  jisuan_d = 1
  jisuan_m = jisuan_m + 1
  END IF
  END CHOOSE
  NEXT
  END IF
  //按yyyy-mm-dd hh:mm格式計算取得平均時間結果,String型
  jisuan_date_time =jisuan_date_time + String(jisuan_y)
  IF jisuan_m < 10 THEN
  jisuan_date_time =jisuan_date_time + "-0" + String(jisuan_m)
  ELSE
  jisuan_date_time =jisuan_date_time + "-" + String(jisuan_m)
  END IF
  IF jisuan_d < 10 THEN
  jisuan_date_time =jisuan_date_time + "-0" + String(jisuan_d)
  ELSE
  jisuan_date_time =jisuan_date_time + "-" + String(jisuan_d)
  END IF
  IF shi < 10 THEN
  jisuan_date_time =jisuan_date_time + " 0" + String(shi)
  ELSE
  jisuan_date_time =jisuan_date_time + " " + String(shi)
  END IF
  IF fen < 10 THEN
  jisuan_date_time =jisuan_date_time + ":0" + String(fen)
  ELSE
  jisuan_date_time =jisuan_date_time + ":" + String(fen)
  END IF
  END IF
  RETURN jisuan_date_time //返回函數值,String型
  3自定義函數的應用
  3.1使用該函數應注意的問題
  從程序代碼可以看到,為最大限度滿足其通用性,一方面,該函數不論是對幾分鐘的短時間段,還是對幾年的長歷時,都能正確返回差值或均值。另一方面,在使用系統函數時,盡量兼顧各類程序語言。例如,PowerScript函數庫中的Ceiling(n)函數能夠返回大于數值型變量n的最小整數,但在這里沒有使用,而是使用的取整函數Int(),并對超出Integer型范圍的數進行了處理。在使用該函數時,除考慮不同軟件開發語言的差別外,還應注意以下幾點:一是該函數在計算均值時考慮了“四舍六入,逢五奇進偶舍”的原則,如果在實際應用中不需要這種處理,就直接應用系統的“四舍五入”(Round)函數。二是由于該函數是通過參數控制返回2個可選擇而且是不同類型的結果,因此,不論是差值還是均值都已經定義為字符型,那么返回的數據在使用時都須進行數據類型轉換。三是該函數操作和返回的數據均精確到分鐘,如果實際需要更精確,可通過增加循環控制來實現。
  3.2在實測流量、輸沙量管理系統中的應用實例
  該函數在筆者研制的實測流量、輸沙量管理系統中發揮了非常理想的作用,那就是在實測流量、輸沙量的計算過程中能獲取用戶輸入的起止2個施測時間,均為日期-時間型,由程序來取得平均施測時間以對應本次瞬時流量和輸沙量,并據此點繪流量和輸沙量過程線,推算日平均流量和輸沙率,為了輔助報汛,還計算出累計過水量和輸沙總量。如表1。
  表1                  30909999_2007-12-28流量(輸沙)過程
本次過水總量為:864.2(104m3),輸沙總量為:146(t)
施測(或內插)時間 流量施
測號數
水位
(m)
流量
(Q)
斷面平均
(含沙量)
輸沙率
(Qs)
歷時
(分鐘)
日平均
流量
日平均
輸沙率
年 月 日 時 分
2007-12-28 00:00
 

 
0 0 0 0 20.4 0
2007-12-28 15:29 111 9.88 30.5 0 0 929
 

 
2007-12-29 00:00
 

 
29.2 0 0 511 28.3 0.145
2007-12-29 15:42 112 9.95 27.8 0 0 942
 

 
2007-12-30 00:00
 

 
28.0 0.030 0.840 498 28.2 1.27
2007-12-30 15:13 113 9.98 28.3 0.060 1.70 913
 

 
2007-12-31 00:00
 

 
28.3 0.030 0.849 527 23.1 0.268
2007-12-31 15:10 114 9.98 28.3 0 0 910
 

 
2008-1-1 00:00
 

 
0 0 0 530
 

 
  實測流量、輸沙量成果表同過程線圖建立鏈接后,系統自動插入各日00:00時和24:00時的數據,按照連實測流量過程線法推流,可使用該自定義函數在任意兩個時間段內插入一個均值時間及相應的流量、輸沙量,再按照人為需要和過程線趨勢進行手工調整,直到取得滿意的過程線后實施相應的計算功能。該函數在計算各時段的歷時過程中,為該程序模塊取得了事半功倍的效果。
  4結語
  本文給出的這一函數,從思路到實現的過程都是嚴密的,全面考慮了各種情況,大量的實際應用更表明了該函數具有簡單性、通用性、易操作性和可靠性,而且作為自定義函數,調入計算機內存后同系統函數的運算效果是相同的,在此提供給廣大同仁及愛好者。當然,這只是筆者在水文資料電算中的一點經驗之談,不妥之處,敬請指正。

久久99精品国产99久久6| 小嫩模无套内谢第一次| 国产产在线精品亚洲AAVV| 亚洲精品无码AV专区最新| 男女裸体下面进入的免费视频| 给老子叫 老子喜欢听| 尤物蜜芽国产成人精品区| 手机看片AV永久免费| 老旺的大肉蟒进进出出视频| 寡妇下面好黑好毛| 中文字幕无码免费久久| 西西顶级艺术WWW日本超大胆| 欧美亚洲国产一区二区三区| 久久97久久精品免费观看黑人 | 强奷秘书吸乳免费观看| 国产精品无码久久综合网| 亚洲乱码日产精品BD在观看| 嫩草研究院久久久精品| 高潮毛片无遮挡高清免费| 中国高清VIDEOSSEXO另| 波多野结衣乳巨码无在线| 边做边爱完整版免费视频播放百度 | 久久精品国产男包| 欧美老熟妇乱大交XXXXX| 免费无码又黄又爽又刺激| JAPANESEHD无码专区| 精品国产AⅤ一区天美传媒| 极品性荡少妇一区二区| 男男H黄动漫啪啪无遮挡网站| 人妻少妇精品视频无码综合| 天天天天躁天天爱天天碰2018| 中文午夜乱理片无码AⅤ| 亚洲午夜性猛春交XXXX| JULIA无码人妻中文字幕在线| 国产成人午夜在线视频A站 | 被两个两个黑人吃奶4P| 国产偷国产偷亚洲清高孕妇| 免费源码资源源码站| 脱岳裙子从后面挺进去| 一区二区三区精品视频日本| 岛国AV在线无码播放| 久久99国产精品二区| 人妻夜夜爽一区二区三区 | 手机看片AV无码永久免费| 亚洲精品成人无码中文毛片不卡 | 无码无套少妇毛多18P| 婬乱丰满熟妇XXXXX性69| 国产Ⅴ亚洲V天堂A无码| 久久亚洲AV成人无码软件| 少妇乳大丰满在线播放| 亚洲综合激情另类小说区| 顶级大但人文艺术巫| 久久久久精品无码AV| 日韩人妻无码AⅤ中文字幕你懂的| 亚洲欧美一区二区成人片婷婷| 波多野结衣中文字幕一区二区三区 | 99久久精品费精品国产一区二| 国产人成亚洲综合无码AⅤ蜜桃 | А√天堂资源最新版在线官网| 国产在线超清日本一本| 人妻丰满熟妇岳av无码区HD| 亚洲欧美日韩精品成人| 丰满少妇高潮在线播放不卡| 狂躁美女大BBBBBB视频U| 无码人妻久久一区二区三区APP | 岳潮湿的大肥梅开二度第三部最新| 公交车伦流澡到高潮HNP| 男人一边吃奶一边弄下边好爽| 性一交一无一伦一精一品| 精品综合久久久久久97超人| 人妻丰满熟妇AV无码| 亚洲一区精品无码色成人| 国产成人精品一区二区视频| 欧美A级毛欧美1级A大片式放| 亚洲妇女行蜜桃AV网网站| 高清乱码一区二区三区| 欧美XXXⅩ重口变态调教| 亚洲精品无码不卡在线播HE| 国产FREEXXXX性播放麻豆| 女色窝人体色777777九色| 亚洲欧美综合一区二区三区| 国产精品成人99一区无码| 秋霞鲁丝片成人无码| 一本岛V免费不卡一二三区| 国产熟妇人妻ⅩXXXX麻豆网站| 日本熟妇人妻ⅩXXXX| 18禁又污又黄又爽的网站不卡| 精品久久久BBBB人妻| 无码人妻精品一区二区在线视频| 班级每人C了我半小时班长| 蜜臀av无码少妇一区二区三区| 亚洲国产欧美在线人成AAAA| 国产成A人亚洲精V品无码性色 | 久久久久亚洲AV成人无码电影| 亚洲AV无码不卡一区二区三区 | 久久久午夜精品福利内容| 午夜成人亚洲理伦片在线观看| 成人片黄网站A毛片免费| 欧美黑人巨大XXXX黑人猛| 伊人狠狠色丁香婷婷综合| 精品国产精品久久一区免费式| 无码中文字幕AV免费放DVD| 风间由美性色一区二区三区| 人人超碰人人超级碰国| 99精品久久久久精品双飞| 鲁死你AV资源站| 亚洲一区二区三区自拍公司| 狠狠躁夜夜躁人人爽天天不卡软件 | 日本熟妇厨房XXXXX乱电影| 亚洲中文无码人A∨在线导航 | 性无码免费一区二区三区在线| 国产CHINESEHDXXXX宾馆TUBE | 亚洲熟女成年三级中文字幕| 激情伊人五月天久久综合| 亚洲AV成人午夜电影在线观看| 国产精品青青在线麻豆| 偷拍亚洲另类无码专区制服| 公交车大龟廷进我身体里视频| 欧洲AV无码放荡人妇网站| 97久久国产露脸精品国产| 美女脱个精光扒开尿口图片无遮挡| 一本大道香蕉久97在线播放| 久久精品高清一区二区三区| 亚洲色18禁成人网站WWW永久| 精品无码久久久久久久动漫| 亚洲精品TV久久久久久久久久| 狠狠色综合久久久久尤物| 久久亚洲色一区二区三区| 亚洲中文字幕久久精品无码喷水| 精品国产一区二区三区无码| 亚洲欧美第一的日产SUV| 精品久久久久久久久午夜福利| 亚洲国产成人精品青青草原导航| 精品国产乱码久久久久久人妻| 亚洲精品无码少妇30P| 久久精品成人亚洲另类欧美| 一本色道久久88精品综合| 乱码午夜-极品国产内射| √天堂中文官网在线| 国内久久婷婷五月综合欲色广啪| 亚洲AV无码传区国产乱码O| 黑人巨大猛烈捣出白浆视频在线| 亚洲精品亚洲人成在线| 久久九九精品国产综合喷水| 与亲女洗澡伦了东北| 娜娜的YIN荡生涯H全文阅读| CHINESE叫床对白VIDEOS| 人妻无码一区二区三区四区| 第一次爱的人视频播放完整版| 天天看片天天AV免费观看| 国产无人区卡一卡二卡乱码 | MM1313亚洲国产精品无码试| FREE性满足VIDE0SHD| 强伦姧人妻三上悠亚中文字幕| 波多野结衣在线观看AV| 天堂√中文最新版在线中文| 国产最大成人亚洲精品| 亚洲国产另类久久久精品小说| 久久久久人妻一区二区三区VR| 50岁熟妇大白屁股真爽| 日本免费一区二区三区四区五六区| 国产AV免费一区二区三区| 亚洲AV无码久久精品狠狠爱浪潮| 久久精品国产清自在天天线| 777成了乱人视频| 色噜噜狠狠色综合日日| 国产欧美另类久久久精品图片| 亚洲日韩AV无码| 欧美金妇欧美乱妇XXXX| 国产AV丝袜熟女AV一区| 亚洲国产精品无码中文字视| 免费无码又爽又高潮视频| 成人精品免费AV不卡在线观看| 无人码在线观看高清完整免费| 九月婷婷亚洲综合成人| 99无人区码一码二码三码| 天美传媒国产电视推荐| 精品国产污污免费网站入口| 50岁老熟女一级毛片| 天堂√中文最新版在线| 九九九九精品视频在线观看| AV无码波多野结衣| 无码国内精品久久综合88| 久久精品国产一区二区三| 扒掉内裤露出打嫩嫩的屁股| 亚洲AV成人片乱码色午夜| 免费观看男女AV入口网站| 99久久久国产精品免费| 香蕉97超级碰碰碰视频| 免费一区二区三区成人免费视频| 少妇一晚三次一区二区三区| 豪妇荡乳1一5潘金莲2在线| 18精品久久久无码午夜福利| 手在线播放波多野结衣| 被公牛日到了高潮| 国产亚洲欧洲网友拍| 中文字幕无码精品亚洲资源网久久 | 亚洲日韩中文字幕无码一区| 日本一卡二卡四卡无卡国产| 精品国产一区二区AV麻豆不卡|