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

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

wow@

Здравствуйте!
Как VBA можно получить номер дня в году? Допустим сегодня 20.06.2007, а функция или процедура должна возвратить 170. Мне предложили перевести дату в текстовый формат и вычитать из нее 1 января 2007 года так же в текстовом формате. Получится нужное число, но это будет работать только в этом году, а мне нужно обрабатывать массив данных за много лет. Как можно получить номер дня в году проще?
Заранее спасибо, с уважением ко всем Владимир.
 
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 - определяет год по указанной дате
 
Большое спасибо, Tanya! Вы мне очень помогли.
С уважением Владимир.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab