首页 文章

DateTimePicker的.Value和.Text之间的区别 - VB.NET

提问于
浏览
1

我'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 回答

  • 0

    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) .

相关问题