以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  文本框中日期的计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=170235)

--  作者:实话实说
--  发布时间:2021/7/17 19:26:00
--  文本框中日期的计算
Dim d1 As WinForm.DateTimePicker = e.form.controls("开始日期")
Dim d2 As WinForm.DateTimePicker = e.form.controls("结束日期")
Dim d3 As WinForm.DateTimePicker = e.form.controls("今天日期")
Dim d4 As WinForm.TextBox = e.form.controls("项目周期")
Dim d5 As WinForm.NumericComboBox = e.form.controls("剩余天数")
现在要计算:d2 = d1+d4   d5 = d2-d3
d2是日期,d5是天数



[此贴子已经被作者于2021/7/18 9:37:40编辑过]

--  作者:实话实说
--  发布时间:2021/7/18 16:50:00
--  
以下代码为什么不行?
Dim d1 As Date = e.form.controls("开始日期").Value
Dim d2 As Date = e.form.controls("结束日期").Value
Dim d3 As Integer = e.form.controls("项目周期").Value
d2 = d1.AddDays(d3)


--  作者:有点蓝
--  发布时间:2021/7/18 21:00:00
--  

d3有值吗?

msgbox(d3)


d2是一个变量,如果要显示到控件里,要重新赋值回控件

d2 = d1.AddDays(d3)

e.form.controls("结束日期").Value = d2


--  作者:13568406997
--  发布时间:2021/8/9 11:04:00
--  

时段的类型为TimeSpan,所谓时段,就是一段时间范围。

定义一个新的TimeSpan的语法为:

New TimeSpan(days, hours, minutes, seconds, milliseconds)
New TimeSpan(days,
hours, minutes, seconds)
New TimeSpan(
hours, minutes, seconds)

days:          天数
hours:         小时数
minutes:       分数
seconds
:       秒数
milliseconds:  毫秒数

例如:

Dim tp1 As New TimeSpan(20,13,45) \'20小时13分45秒
Dim
tp2 As New TimeSpan(1,20,13,45) \'1天20小时13分45秒
Dim
tp3 As New TimeSpan(1,20,13,45,200) \'1天20小时13分45秒200毫秒
Dim
tp4 As New TimeSpan(0,0,0,200) \'200秒
Dim
tp5 As New TimeSpan(0,0,0,0,200) \'200毫秒