Как получить номер дня в году?

Тема в разделе "Visual Basic", создана пользователем wow@, 20 июн 2007.

Статус темы:
Закрыта.
  1. wow@

    wow@ Гость

    Здравствуйте!
    Как VBA можно получить номер дня в году? Допустим сегодня 20.06.2007, а функция или процедура должна возвратить 170. Мне предложили перевести дату в текстовый формат и вычитать из нее 1 января 2007 года так же в текстовом формате. Получится нужное число, но это будет работать только в этом году, а мне нужно обрабатывать массив данных за много лет. Как можно получить номер дня в году проще?
    Заранее спасибо, с уважением ко всем Владимир.
     
  2. Tanya

    Tanya Гость

    Sub nn()
    Debug.Print DateDiff("d", "1.01.2007", "21.06.2007")
    Debug.Print DateDiff("d", DateSerial(2007, 1, 1), DateSerial(2007, 6, 21))
    Debug.Print DateDiff("d", DateSerial(Year(Date), 1, 1), Date)
    End Sub

    DateDiff - вычисляет промежуток времени между двумя датами
    первый параметр - в чем возвращать результат, "d" - указывает, что в днях
    2 следующих параметра - даты между которыми определяется промежуток

    в результате выполнения будет распечатано:
    171
    171
    171
    при условии, что выполняли 21.06.2007 :)))

    DateSerial - определяет дату по параметрам: год, месяц, число
    Date - текущая дата
    Year - определяет год по указанной дате
     
  3. wow@

    wow@ Гость

    Большое спасибо, Tanya! Вы мне очень помогли.
    С уважением Владимир.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей