我正在一个需要理解VB代码的项目中,尤其是停留在一行上。
我看过Google并向同事寻求帮助,但找不到答案。
以下是一行:
BegHour = myDate - Int(myDate)
答案 0 :(得分:1)
这实际上取决于您声明的myDate
。如果我们可以假设它被声明为
Dim myDate As Date
然后它可以包含一个包含时间yyyy-mm-dd hh:mm:ss
的日期。
由于日期时间的整数部分仅是没有时间的日期,例如,如果您进行Int(myDate)
,则只会得到没有时间的日期部分yyyy-mm-dd
。
最后,如果减去日期时间BegHour = myDate - Int(myDate)
的日期,则只会得到时间部分hh:mm:ss
。
实际上,日期保存为自1900-01-01
起算为1
的天数。因此,举例来说,2019-05-17
是自43602
开始的天数1900-01-01
。时间是一天的一部分,因此0.5
天意味着12
小时。
答案 1 :(得分:0)
想想今天,下午6点:"17/05/2019 18:00:00"
它以Date
的形式保存-可以通过多种方式进行格式化,但由于自1899年以来的天数= 43602.75而保存在内存中
因此,如果myDate
持有43602.75,则BegHour
等于:
= 43602.75 - Int (43602.75)
= 43602.75 - 43602
= 0.75
如果将其视为DateTime
,则可以将其格式化为读取18:00
或6pm
等。