|
|
|
| Подскажите функцию вычисления количества дней между датами.Пробовал DateDiffW([StartDate],[EndDate]) не понимает и я тоже. | |
|
| |
|
|
|
| Количество дней=endDate-StartDate | |
|
| |
|
|
|
| DateDiff("d",[StartDate],[EndDate])
DateDiff("y",[StartDate],[EndDate])
может дату начала и окончания придется поменять
а может еще и 1 прибавить или отнять | |
|
| |
|
|
|
| Спасибо.Количество дней=endDate-StartDate как раз то что нужно. | |
|
| |
|
|
|
|
| endDate-StartDate плохое решение.
Если, например, формат поля - полная дата, то
Dim d1 As Date
Dim d2 As Date
d1 = CDate("22.01.2013 08:00:04")
d2 = CDate("23.01.2013 13:41:04")
Debug.Print d2 - d1
Результат 1,2368055555562
Debug.Print DateDiff("d", d1, d2)
Результат - 1
:) | |
|
| |
|
|
|
| Из хелпа
В следующем примере функции DateSerial, Year, Month и Day использованы для вычисления количества дней в заданном месяце. Параметром функции DaysInMonth может быть либо дата, либо строка.
Function DaysInMonth(dteInput As Date) As Integer
Dim intDays As Integer
' Добавим один месяц и вычтем даты, чтобы найти разницу.
intDays = DateSerial(Year(dteInput), Month(dteInput) + 1, Day(dteInput)) _
- DateSerial(Year(dteInput), Month(dteInput), Day(dteInput))
DaysInMonth = intDays
Debug.Print intDays
End Function
В следующей процедуре Sub приведено несколько способов вызова функции DaysInMonth:
Sub CallDaysInMonth()
Dim intDays As Integer
intDays = DaysInMonth(#4/1/96#)
intDays = DaysInMonth("4-1-96")
intDays = DaysInMonth("April 1, 1996")
End Sub
|
| |
|
| |