应arrdio群友之约,写个简单示例,演示时间算法
代码:
import win.ui;
/*DSG{{*/
var winform = win.form(text="aardio form";right=759;bottom=469)
winform.add(
listview={cls="listview";left=45;top=30;right=712;bottom=423;edge=1;z=1}
)
/*}}*/
winform.show();
winform.listview.setTable({fields={"年月","当月1日","次月1日"}})
//方法一,使用笛卡尔积,将年月相乘,得到时间列表
winform.listview.addItem("方法一")
year={2019,2020}
month={1,2,3,4,5,6,7,8,9,10,11,12}
import table.product
for t in table.product(year,month){
winform.listview.addItem({t[1]+"年"+t[2]+"月",t[1]+"-"+t[2]+"-1",(t[2]=12?(t[1]+1):t[1])+"-"+(t[2]=12?1:(t[2]+1))+"-1"})
}
//方法二,使用时间函数,逐次增加1个月,得到时间列表
winform.listview.addItem("方法二")
import time
var tm = time("2019-1-1")
for(i=1;24;1){
var t={tm.year+"年"+tm.month+"月",tm.year+"-"+tm.month+"-1"}
tm.addmonth(1)
table.push(t,tm.year+"-"+tm.month+"-1")
winform.listview.addItem(t)
}
win.loopMessage();
效果: