• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы wow@
  • Дата начала
Статус
Закрыто для дальнейших ответов.
W

wow@

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

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 - определяет год по указанной дате
 
W

wow@

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!