📄 tst1200.mal
字号:
#date_bat.bat.insert(12@0, date_12).insert(13@0, date_13).insert(14@0, date_14); bat.insert(date_bat,15@0,date_15); bat.insert(date_bat,16@0,date_16); bat.insert(date_bat,17@0,date_17);#date_bat.bat.insert(15@0, date_15).insert(16@0, date_16).insert(17@0, date_17); bat.insert(date_bat,18@0,date_18); bat.insert(date_bat,19@0,date_19); bat.insert(date_bat,20@0,date_20);#date_bat.bat.insert(18@0, date_18).insert(19@0, date_19).insert(20@0, date_20);### test the operations on dates ne_a := bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"), oe_a:bat[:oid,:int] := optimizer.multiplex("mtime","year",date_bat); pe_a := bat.setColumn(oe_a,"year");# [year](date_bat).bat.setColumn("year"), qe_a:bat[:oid,:int] := optimizer.multiplex("mtime","day",date_bat); re_a := bat.setColumn(qe_a,"day");# [day](date_bat).bat.setColumn("day"), se_a:bat[:oid,:int] := optimizer.multiplex("mtime","month",date_bat); te_a:bat[:oid,:str] := optimizer.multiplex("mtime","monthname",se_a); ue_a := bat.setColumn(te_a,"monthname");# [monthname]([month](date_bat)).bat.setColumn("monthname"), ve_a:bat[:oid,:int] := optimizer.multiplex("mtime","month",date_bat); we_a:bat[:oid,:str] := optimizer.multiplex("mtime","monthname",ve_a); xe_a:bat[:oid,:int] := optimizer.multiplex("mtime","monthnum",we_a); ye_a := bat.setColumn(xe_a,"monthnum"); io.print("print(date_bat,oe_a,qe_a,te_a,xe_a)"); af_a := io.print(date_bat,oe_a,qe_a,te_a,xe_a);# [monthnum]([monthname]([month](date_bat))).bat.setColumn("monthnum"));# date_addyears:bat[:oid,:date]:= optimizer.multiplex("mtime","addyears",date_bat,-100);#var date_addyears := [addyears](date_bat, -100); date_addmonths:bat[:oid,:date]:= optimizer.multiplex("mtime","addmonths",date_bat,1);#var date_addmonths := [addmonths](date_bat, 1);# bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"), bat.setColumn(date_addyears,"min100y");# date_addyears.bat.setColumn("min100y"), df_a:bat[:oid,:int] := optimizer.multiplex("mtime","diff",date_addyears,date_bat); bat.setColumn(df_a,"diff"); io.print("print(date_bat,date_addyears,df_a)"); ff_a := io.print(date_bat,date_addyears,df_a);# [diff](date_addyears, date_bat).bat.setColumn("diff"));# bat.setColumn(date_bat,"date");#io.print(date_bat.bat.setColumn("date"), bat.setColumn(date_addmonths,"plus1m");# date_addmonths.bat.setColumn("plus1m"), if_a:bat[:oid,:int] := optimizer.multiplex("mtime","diff",date_addmonths,date_bat); bat.setColumn(if_a,"diff"); io.print(" print(date_bat,date_addmonths,if_a)"); kf_a := io.print(date_bat,date_addmonths,if_a);# [diff](date_addmonths, date_bat).bat.setColumn("diff"));### test dayofweek and weeknumber using more than two years as consecutive days date_seq:= bat.new(:int,:date);#var date_seq := bat.new(int, date); i:= -375;#var i := -375;barrier lf_a:= true; i:= i+1; of_a := calc.<(i,375);barrier mf_a:= of_a;#while ((i :+= 1) < 375) { pf_a := mtime.adddays(date_00,i); bat.insert(date_seq,i,pf_a);# date_seq.bat.insert(i,adddays(date_00,i));redo lf_a;exit mf_a;exit lf_a;#} rf_a := bat.setColumn(date_seq,"date");#io.print(date_seq.bat.setColumn("date"), sf_a:bat[:int,:int] := optimizer.multiplex("mtime","weekofyear",date_seq); tf_a := bat.setColumn(sf_a,"weekofyear");# [weekofyear](date_seq).bat.setColumn("weekofyear"), uf_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq); vf_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",uf_a); wf_a := bat.setColumn(vf_a,"dayofweek");# [dayname]([dayofweek](date_seq)).bat.setColumn("dayofweek"), xf_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq); yf_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",xf_a); ag_a:bat[:int,:int] := optimizer.multiplex("mtime","daynum",yf_a); bg_a := bat.setColumn(ag_a,"num");# [daynum]([dayname]([dayofweek](date_seq))).bat.setColumn("num"), cg_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofyear",date_seq); dg_a := bat.setColumn(cg_a,"dayofyear");io.print("date_seq,sf_a,vf_a,ag_a,cg_a"); eg_a := io.print(date_seq,sf_a,vf_a,ag_a,cg_a);# [dayofyear](date_seq).bat.setColumn("dayofyear"));#####line 679 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## test the various ways top create daytimes daytime_00:= mtime.daytime(23,59,59,999);#var daytime_00 := mtime.daytime(23,59,59,999); daytime_01:= mtime.daytime("23:59");#var daytime_01 := mtime.daytime("23:59"); daytime_02:= mtime.daytime("00:00");#var daytime_02 := mtime.daytime("00:00"); daytime_03:= mtime.daytime("23:59:59");#var daytime_03 := mtime.daytime("23:59:59"); daytime_04:= mtime.daytime("00:00:00.000");#var daytime_04 := mtime.daytime("00:00:00.000"); daytime_05:= mtime.daytime("00:00:00");#var daytime_05 := mtime.daytime("00:00:00"); daytime_06:= mtime.daytime("00:00:00:001");#var daytime_06 := mtime.daytime("00:00:00:001"); daytime_07:= mtime.daytime("03:49:02.999");#var daytime_07 := mtime.daytime("03:49:02.999"); daytime_08:= mtime.daytime("20:48:42:999");#var daytime_08 := mtime.daytime("20:48:42:999"); daytime_09:= mtime.daytime("17:53:38:999");#var daytime_09 := mtime.daytime("17:53:38:999"); daytime_10:= mtime.daytime("13:15:34:999");#var daytime_10 := mtime.daytime("13:15:34:999"); daytime_11:= mtime.daytime("07:34:27.999");#var daytime_11 := mtime.daytime("07:34:27.999"); daytime_12:= mtime.daytime("23:59:59:999");#var daytime_12 := mtime.daytime("23:59:59:999"); daytime_13:= mtime.daytime("01:00:03.999");#var daytime_13 := mtime.daytime("01:00:03.999"); daytime_14:= mtime.daytime("23:59:59.999");#var daytime_14 := mtime.daytime("23:59:59.999");## nil daytimes daytime_15:= mtime.daytime(24,59,59,999);#var daytime_15 := mtime.daytime(24,59,59,999); daytime_16:= mtime.daytime(23,60,59,999);#var daytime_16 := mtime.daytime(23,60,59,999); daytime_17:= mtime.daytime(23,59,60,999);#var daytime_17 := mtime.daytime(23,59,60,999); daytime_18:= mtime.daytime(23,59,60,1000);#var daytime_18 := mtime.daytime(23,59,60,1000); daytime_19:= mtime.daytime("nil");#var daytime_19 := mtime.daytime("nil");# daytime_bat:= bat.new(:oid,:daytime);#var daytime_bat := bat.new(oid,daytime); bat.insert(daytime_bat,0@0,daytime_00); bat.insert(daytime_bat,1@0,daytime_01); bat.insert(daytime_bat,2@0,daytime_02);#daytime_bat.bat.insert(0@0, daytime_00).insert(1@0, daytime_01).insert(2@0, daytime_02); bat.insert(daytime_bat,3@0,daytime_03); bat.insert(daytime_bat,4@0,daytime_04); bat.insert(daytime_bat,5@0,daytime_05);#daytime_bat.bat.insert(3@0, daytime_03).insert(4@0, daytime_04).insert(5@0, daytime_05); bat.insert(daytime_bat,6@0,daytime_06); bat.insert(daytime_bat,7@0,daytime_07); bat.insert(daytime_bat,8@0,daytime_08);#daytime_bat.bat.insert(6@0, daytime_06).insert(7@0, daytime_07).insert(8@0, daytime_08); bat.insert(daytime_bat,9@0,daytime_09); bat.insert(daytime_bat,10@0,daytime_10); bat.insert(daytime_bat,11@0,daytime_11);#daytime_bat.bat.insert(9@0, daytime_09).insert(10@0, daytime_10).insert(11@0, daytime_11); bat.insert(daytime_bat,12@0,daytime_12); bat.insert(daytime_bat,13@0,daytime_13); bat.insert(daytime_bat,14@0,daytime_14);#daytime_bat.bat.insert(12@0, daytime_12).insert(13@0, daytime_13).insert(14@0, daytime_14); bat.insert(daytime_bat,15@0,daytime_15); bat.insert(daytime_bat,16@0,daytime_16); bat.insert(daytime_bat,17@0,daytime_17);#daytime_bat.bat.insert(15@0, daytime_15).insert(16@0, daytime_16).insert(17@0, daytime_17); bat.insert(daytime_bat,18@0,daytime_18); bat.insert(daytime_bat,19@0,daytime_19);#daytime_bat.bat.insert(18@0, daytime_18).insert(19@0, daytime_19);# bat.setColumn(daytime_bat,"daytime");#io.print(daytime_bat.bat.setColumn("daytime"), bh_a:bat[:oid,:int] := optimizer.multiplex("mtime","hours",daytime_bat); bat.setColumn(bh_a,"hours");# [hours](daytime_bat).bat.setColumn("hours"), dh_a:bat[:oid,:int] := optimizer.multiplex("mtime","minutes",daytime_bat); bat.setColumn(dh_a,"minutes");# [minutes](daytime_bat).bat.setColumn("minutes"), fh_a:bat[:oid,:int] := optimizer.multiplex("mtime","seconds",daytime_bat); bat.setColumn(fh_a,"seconds");# [seconds](daytime_bat).bat.setColumn("seconds"), hh_a:bat[:oid,:int] := optimizer.multiplex("mtime","milliseconds",daytime_bat); bat.setColumn(hh_a,"milliseconds");io.print("daytime_bat,bh_a,dh_a,fh_a,hh_a"); jh_a := io.print(daytime_bat,bh_a,dh_a,fh_a,hh_a);# [milliseconds](daytime_bat).bat.setColumn("milliseconds"));#####line 719 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"## create timestamps in bulk from the above bats with dates, daytimes and tzones# Skipped due to coercion implication kh_a:bat[:oid,:timestamp] := optimizer.multiplex("mtime","timestamp",date_bat,daytime_bat,tzone_bat); timestamp_bat:=kh_a; bat.setWriteMode(kh_a);#var timestamp_bat := [timestamp](date_bat,daytime_bat,tzone_bat).access(BAT_WRITE);## KILL## var timestamp_now := timestamp(epoch());## timestamp_bat.bat.insert(14@0, timestamp_now);### test the timestamp operations bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"), mh_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,tzone_bat); bat.setColumn(mh_a,"date");# [date](timestamp_bat,tzone_bat).bat.setColumn("date"), oh_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,tzone_bat); bat.setColumn(oh_a,"daytime"); io.print("print(timestamp_bat,mh_a,oh_a)"); io.print(timestamp_bat,mh_a,oh_a);# [daytime](timestamp_bat,tzone_bat).bat.setColumn("daytime"));# rh_a := bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"), timezones:bat[:str,:timezone]:= bbp.bind("timezones"); io.print("print(timezones)"); io.print(timezones); sh_a:timezone := algebra.find(timezones,"Wake Island"); th_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,sh_a); bat.setColumn(th_a,"Wake Island");# [date](timestamp_bat,algebra.find(timezones,"Wake Island")).bat.setColumn("Wake Island"), vh_a:timezone := algebra.find(timezones,"Wake Island"); wh_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,vh_a);# [daytime](timestamp_bat,algebra.find(timezones,"Wake Island")), xh_a:timezone := algebra.find(timezones,"American Samoa"); yh_a:bat[:oid,:date] := optimizer.multiplex("mtime","date",timestamp_bat,xh_a); ai_a := bat.setColumn(yh_a,"American Samoa");# [date](timestamp_bat,algebra.find(timezones,"American Samoa")).bat.setColumn("American Samoa"), bi_a:timezone := algebra.find(timezones,"American Samoa"); ci_a:bat[:oid,:daytime] := optimizer.multiplex("mtime","daytime",timestamp_bat,bi_a); io.print("print(timestamp_bat,th_a,wh_a,yh_a,ci_a)"); di_a := io.print(timestamp_bat,th_a,wh_a,yh_a,ci_a);# [daytime](timestamp_bat,algebra.find(timezones,"American Samoa")));# ei_a := calc.*(60,1000); fi_a := calc.*(60,ei_a); gi_a := calc.*(23,fi_a); hi_a := calc.lng(gi_a); timestamp_plus:bat[:oid,:timestamp] := optimizer.multiplex("mtime","add",timestamp_bat,hi_a);#var timestamp_plus := [add](timestamp_bat, calc.lng(23*60*60*1000)); ii_a := calc.*(-60,1000); ji_a := calc.lng(ii_a); timestamp_minus:bat[:oid,:timestamp] := optimizer.multiplex("mtime","add",timestamp_bat,ji_a);#var timestamp_minus := [add](timestamp_bat, calc.lng(-60*1000));# ki_a := bat.setColumn(timestamp_bat,"timestamp");#io.print(timestamp_bat.bat.setColumn("timestamp"), li_a := bat.setColumn(timestamp_plus,"plus23");# timestamp_plus.bat.setColumn("plus23"), mi_a := bat.setColumn(timestamp_minus,"min1");# timestamp_minus.bat.setColumn("min1"), ni_a:bat[:oid,:lng] := optimizer.multiplex("mtime","diff",timestamp_plus,timestamp_minus); oi_a := calc.*(60,1000); pi_a := calc.*(60,oi_a); qi_a := calc.lng(pi_a); ri_a := batcalc./(ni_a,qi_a); si_a := bat.setColumn(ri_a,"diff"); io.print("print(timestamp_bat,timestamp_plus,timestamp_minus,ri_a)"); ti_a := io.print(timestamp_bat,timestamp_plus,timestamp_minus,ri_a);# [/]([diff](timestamp_plus, timestamp_minus),calc.lng(60*60*1000)).bat.setColumn("diff"));# ui_a:timezone := algebra.find(timezones,"West/Europe"); timestamp_eur:bat[:int,:timestamp]:= optimizer.multiplex("mtime","timestamp",date_seq,daytime_00,ui_a);#var timestamp_eur := [timestamp](date_seq, daytime_00, algebra.find(timezones,"West/Europe")); vi_a:timezone := algebra.find(timezones,"Andes/Brazil"); timestamp_bra:bat[:int,:timestamp]:= optimizer.multiplex("mtime","timestamp",date_seq,daytime_00,vi_a);#var timestamp_bra := [timestamp](date_seq, daytime_00, algebra.find(timezones,"Andes/Brazil"));# wi_a := bat.setColumn(date_seq,"date");#io.print(date_seq.bat.setColumn("date"), xi_a:bat[:int,:int] := optimizer.multiplex("mtime","dayofweek",date_seq); yi_a:bat[:int,:str] := optimizer.multiplex("mtime","dayname",xi_a); aj_a := bat.setColumn(yi_a,"day");# [dayname]([dayofweek](date_seq)).bat.setColumn("day"), bj_a := bat.setColumn(timestamp_eur,"West/Europe");# timestamp_eur.bat.setColumn("West/Europe"), cj_a:timezone := algebra.find(timezones,"West/Europe"); dj_a:bat[:int,:bit] := optimizer.multiplex("mtime","dst",timestamp_eur,cj_a); ej_a := bat.setColumn(dj_a,"dst");# [dst](timestamp_eur,algebra.find(timezones,"West/Europe")).bat.setColumn("dst"), fj_a := bat.setColumn(timestamp_bra,"Andes/Brazil");# timestamp_bra.bat.setColumn("Andes/Brazil"), gj_a:timezone := algebra.find(timezones,"Andes/Brazil"); hj_a:bat[:int,:bit] := optimizer.multiplex("mtime","dst",timestamp_bra,gj_a); ij_a := bat.setColumn(hj_a,"dst"); io.print("print(date_seq,yi_a,timestamp_eur,dj_a,timestamp_bra,hj_a)"); jj_a := io.print(date_seq,yi_a,timestamp_eur,dj_a,timestamp_bra,hj_a);# [dst](timestamp_bra,algebra.find(timezones,"Andes/Brazil")).bat.setColumn("dst"));##quit;####line 756 "/ufs/mk/monet_5-0/src/modules/atoms/monettime.mx"#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -