2016-02-04 3 views
0

Я хочу использовать функцию Days360 в VB.Net. Мне нужно знать разницу в днях между двумя датами, предполагающими 360 дней в году (не 365 дней используется функция DateDiff).Day360 in vb.net

Например, DateDiff(DateInterval.Day,"16/10/2015", "04/02/2016") = 111 дней, но Days360 должен возвращать 109 дней.

+0

, из которых 5 (или 6) дней вы опустили из своего календаря? – Plutonix

+0

то, что я хочу, это то, что всегда требуется 30 дней, во время вычисления разницы, так как это отличает формулу day360. –

+1

Похоже, что логика описана в документации для функции [DAYS360] (https: // support.office.com/en-us/article/DAYS360-function-B9A509FD-49EF-407E-94DF-0CBDA5718C2A). Вы пытались его реализовать? – TnTinMn

ответ

3

Функция Days360 в Excel вычисляет дни между двумя датами, используя вымышленный календарь, который имеет 30 дней в каждом месяце. Этот метод используется для некоторых финансовых целей.

Вы можете написать простую функцию для выполнения одного и того же вычисления.

Function Days360(startDate As DateTime, endDate As DateTime) As Integer 
    Dim months As Integer = (endDate.Year - startDate.Year) * 12 + endDate.Month - startDate.Month 
    Dim days As Integer = Math.Min(30, endDate.Day) - Math.Min(30, startDate.Day) 
    Return months * 30 + days 
End Function 
+0

Спасибо !!! Это то, что мне нужно. –

 Смежные вопросы

  • Нет связанных вопросов^_^