我'd created a small piese of software which is used to calculate some information based on the users'出生日期 . 其中一个是活着的天数 . 基本上,我在VB.NET中使用 DateDiff
函数来实现这一点,但有一个问题,我还没有想到它 .
我使用.Value将DateTimePicker的值赋给变量,并使用DateDiff,如下所示:
DateDiff(DateInterval.Day, dtDOB, Today)
问题是当我选择当前日期(昨天)之前的日期时,给出的结果是0,而应该是1 .
当我将 .Value
更改为 .Text
并将值存储到同一个变量时 . 给出的结果是1.这是我的预期,但我没有_Value属性的错误 . 当我进行我的研究时,我访问过的大多数网站建议使用 .Value
将值从DateTimePicker传输到变量,但不知何故它似乎不准确 .
有人能告诉我他们两个人之间的区别吗?
非常感谢你
1 回答
DatePicker.Value
返回Date
对象,其中DatePicker.Text
返回该日期的String
表示 .在检查
Today
返回的值和DatePicker.Value
的输出之后,我已经到达.Value
返回一个Date
对象,其中包含日期的时间(默认情况下为当前时间),其中Today
仅返回当前日期 . 当插入DateDiff()
时,该方法将假设Today
上的时间是12:00 AM,并且通过比较时间,它可能会少于一天(由VB解释为两个日期之间的完整24小时),导致0天 . 如果您不打算计算小时和分钟,请使用DateDiff(DateInterval.Day, dtDOB.Date, Today)
.