
From AI integration to cross-platform fluency—discover the must-have technical and soft skills for today’s most in-demand dev roles.

by Преподаватель
1) Конструктор (надёжный способ)
Лето = Дата(2014, 6, 1); // Год, Месяц, День, (часы, минуты, секунды — опционально)
Сообщить(Лето);
2) Текущая дата/время
Сегодня = ТекущаяДата();
Сообщить(Сегодня);
3) Ввод от пользователя
ДатаПользователя = Неопределено; // или '00010101'
ВвестиДату(ДатаПользователя);
ОткрытьЗначение(ДатаПользователя);
Совет: строковый литерал
'YYYYMMDD'удобен для быстрых примеров,
но для вычислений безопаснееДата(Г,М,Д)— меньше шансов ошибиться.
Г = Год(Сегодня);
М = Месяц(Сегодня);
Д = День(Сегодня);
Сообщить(Г + "-" + М + "-" + Д);
Полезные «нормализаторы»:
НачалоСуток = НачалоДня(Сегодня);
КонецСуток = КонецДня(Сегодня);
НачалоМесяца = НачалоМесяца(Сегодня);
КонецМесяца = КонецМесяца(Сегодня);
+/- секунды (прямо):
Завтра = Сегодня + 24 * 60 * 60; // сутки = 86400 секунд
Вчера = Сегодня - 24 * 60 * 60;
Сдвиги «календарно» (надёжнее):
ЧерезНеделю = ДобавитьМесяц(Сегодня, 0) + 7 * 24 * 60 * 60; // неделя — ок
ЧерезМесяц = ДобавитьМесяц(Сегодня, 1); // именно календарный месяц
ГодНазад = ДобавитьМесяц(Сегодня, -12);
Почему для месяцев — через
ДобавитьМесяц?
Количество дней в месяце разное. Прибавлять «секундами» легко промахнуться.
Разница между датами (в секундах):
Секунд = '20140101' - '20100101'; // разница как число секунд
Дней = Цел(Секунд / 86400);
Сообщить("Прошло дней: " + Дней);
НомерДняНедели = ДеньНедели(Сегодня); // 1..7 (1 — понедельник)
НомерДняГода = ДеньГода(Сегодня); // 1..366
НомерНедели = НеделяГода(Сегодня); // ISO-нумерация
Текст = Формат(Сегодня, "ДФ='dd.MM.yyyy HH:mm'");
Сообщить(Текст); // например: 12.09.2025 14:35
1) «Через сколько секунд наступит завтра 00:00?»
Сейчас = ТекущаяДата();
Завтра0000 = НачалоДня(Сейчас + 24 * 60 * 60);
СекундДо = Завтра0000 - Сейчас;
Сообщить(СекундДо);
2) «Последний день текущего месяца»
ПоследнийДеньМесяца = КонецДня(КонецМесяца(Сегодня));
Сообщить(ПоследнийДеньМесяца);
3) «Дата следующего месяца в тот же день (или конец месяца, если дня нет)»
ТаЖеДатаВСледМесяце = ДобавитьМесяц(Сегодня, 1);
Сообщить(ТаЖеДатаВСледМесяце);
ДобавитьМесяц, год — ДобавитьМесяц(…, 12).НачалоДня(Дата1) = НачалоДня(Дата2).Формат.ДеньНедели() и массив со строками дней.ТекущаяДата().Дата(Год(Сегодня), Месяц(Рождения), День(Рождения)).Сегодня.КонецМесяца(Сегодня), разница в секундах, делим на 7*86400.