以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于窗口日期时间控件的一个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159493)

--  作者:czy66ds
--  发布时间:2020/12/28 14:01:00
--  关于窗口日期时间控件的一个问题
假设:
Dim DTP1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
那么,DTP1.value 是什么类型的值?

--  作者:有点蓝
--  发布时间:2020/12/28 14:04:00
--  
Date日期时间型:http://www.foxtable.com/webhelp/topics/0208.htm
--  作者:czy66ds
--  发布时间:2020/12/28 14:08:00
--  
那么DTP1.value是date类型的吗?
--  作者:有点蓝
--  发布时间:2020/12/28 14:35:00
--  

--  作者:czy66ds
--  发布时间:2020/12/28 16:15:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目7.foxdb

既然DTP1.value的数据类型为date,
为什么计算时段天数代码如下写就不行呢?
Dim DTP1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim d1 As Date = # 12/20/2020 #
Dim t As TimeSpan = d1 -  DTP1.Value
Dim d As Double = Math.Abs(t.TotalDays)
MessageBox.Show(d & "天")





--  作者:有点蓝
--  发布时间:2020/12/28 16:50:00
--  
语法问题,不支持显示转换。虽然实际类型是date,但是DTP1.value属性定义的是object类型
--  作者:有点蓝
--  发布时间:2020/12/28 16:52:00
--  
一个很简单的测试:
Dim DTP1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
msgbox(DTP1.Value.Gettype().fullname)