有两种方式完成日期控件,第一种是一个文本框edit+一个日期控件datetimepick,另一种是只有一个日期控件datetimepick
方式一:文本框edit+日期控件datetimepick
运行前效果:
运行之后效果如下:
个人觉得运行之后样式不好看,不推荐。
原理:
(1)、给文本框设置初始值
var tm = time.now(); tm.format="%Y-%m-%d"; tm.addday(-7); var startDate =tm; winform.editStartDate.text = tostring(startDate);
(2)、日期控件datetimepick中选择日期后,同步修改文本框的值
// 如果日期修改了,就修改输入框的值 winform.datetimepickStart.onDateTimeChanged = function(dateTime,none){ startDate =dateTime; startDate.format = "%Y-%m-%d"; winform.editStartDate.text =tostring(startDate); }
方式二:日期控件
运行前效果:
运行之后效果:
原理:
(1)、先通过winform.datetimepick3.text获取日期控件的值,格式为2023/7/7
var startDate = winform.datetimepick3.text
(2)、将日期格式化为%Y-%m-%d,格式化之后为2023-07-07
startDate = myutil.formateTime3(startDate,"%Y-%m-%d")
工具类myutil
namespace myutil{ //格式化时间 formateTime3 = function(t,f){ if(f==null){ f="%Y-%m-%d %H:%M:%S" } var tm = ..time(t) tm.format=f; return tostring(tm); } }