Зачем нужна такая функция в Visual Basic?







+3 +/-

Функция DateSerial() якобы генерирует значение типа даты из набора числовых параметров этой самой даты (год, месяц, день)... НО делает она это крайне коряво. Например DateSerial(2016, 6, 31) выдает дату 01.07.2016, а DateSerial(2016, 2, 30) выдает дату 02.03.2016. В тоже время в описании функции сказано, что при указании неверных диапазонов параметров даты генерируется ошибка. Зачем так "воду мутить"??

Профиль пользователя IMcheck Спросил: IMcheck  (рейтинг 9092) Категория: компьютеры и интернет

Ответов: 2

0 +/-
Лучший ответ

Вопрос из серии "накипело". Разделяю гнев по поводу таких функций. Думаю, что на ваш вопрос нет ответа у пользователей БВ. Разве что кто-то из тех, кто создал функцию DateSerial() среди них. Это очевидная ошибка. Я тоже считаю, что должна генерироваться исключительная ситуация, т. к. может быть нарушена логика всего приложения. Если нам нужен июль, то это должен быть именно июль или сообщение о том, что такой даты не существует. Логика алгоритма может заключаться отчасти в такой проверке.

Ответил на вопрос: Jagodzin  
+/-

интересно а что у нас есть дата 31 июня? вот вам и выдает 01 июля. В справке ясно сказано:

Если один из аргументов превышает допустимый предел, увеличивается значение следующего аргумента. Например, если указано значение 35 дней, оно рассматривается как один месяц и определенное количество дней, зависящее от конкретного месяца

Читаем https://msdn.microsoft.com/ru-ru/library/office/gg264202.aspx

Ответил на вопрос: Foong  

Похожие вопросы

Спросил
2 Отв.
Как решать подобные задачи по ИВТ(Паскаль, подготовка к ЕГЭ)(см.)?
Ответ: Данные задачи относятся к заданиям ЕГЭ по информатике, суть которых - анализ кода программы, содержащей циклы и ветвления. От решающего задачу требуется проанализировать ход выполнения программы, для ... Читать далее...
Автор вопроса: Iranian, в категории | | |
Спросил Iranian
1 Отв.
Как зашифровать свое имя в двоичном коде?
Ответ: Если вы любитель мозговых штурмов и у вас масса свободного времени, то можно, используя Коды символов ASCII выразить своё имя, к примеру, в десятеричном ... Читать далее...
Автор вопроса: Burnier, в категории | | |
Спросил Burnier
2 Отв.
Что такое «класс» в программировании?
Ответ: Классами программисты описывают некие абстрактные типы данных. В классе также определяются свойства, данные и методы обработки данных. Классы можно объявлять ... Читать далее...
Автор вопроса: Carita, в категории | |
Спросил Carita
1 Отв.
Как получить оповещение о появлении на чужом сайте определенной фразы?
Ответ: Закажите у веб-программиста Парсер который будет постоянно проверять контентна сайте и проверять в нем наличие той самой ... Читать далее...
Автор вопроса: Crankpin, в категории | | | | |
Спросил Crankpin
3 Отв.
Как научиться писать компьютерные программы и зарабатывать на этом?
Ответ: Советую углубиться немного в другую отрасль - веб-программирования. Это очень выгодно и прибыльно. В среднем цена за сайт составляет от 3 до 5 тысяч рублей. ... Читать далее...
Автор вопроса: Contraction, в категории | |
Спросил Contraction
1 Отв.
Каково основное преимущество, получаемое при использовании функции?
Ответ: Функции позволяют делать одно и то же действие много раз подряд одинаково хорошо, в этом главное преимущество как функций, так и компьютеров в целом :) автор ... Читать далее...
Автор вопроса: Garboils, в категории |
Спросил Garboils
1 Отв.
Как начинать самому учить язык программирования?
Ответ: Нет языка программирования - есть языки программирования! Какой именно язык вы хотите начать учить?! Дело в том, что все языки программирования отличаются ... Читать далее...
Автор вопроса: Sorcer, в категории
Спросил Sorcer
1 Отв.
Какой микроконтроллер выбрать новичку для начала?
Ответ: Хотел в начале предложить, что попроще, а потом подумал, что нет в этом смысла. Конечно если трудности пугают, то с простого легче начинать. Но как показывает ... Читать далее...
Автор вопроса: Reaping, в категории | | | | |