Дата не является целым числом в VB (A), это двойное число.
Вы можете получить значение даты, передав его CDbl()
.
CDbl(Now()) ' 40877.8052662037
.целочисленная часть, используйте
Int(CDbl(Now())) ' 40877
, которая будет возвращать Long Double без десятичных разрядов (то есть то, что Floor()
будет делать на других языках).
Использование CLng()
или Round()
приведет к округлению, которое вернет «день в будущем» при вызове после 12:00, поэтому не делайте этого.