Установка даты
// Инициализировать дату можно с помощью одинарных кавычек // Формат 'ГодМесяцДеньЧасМинутаСекунда' Сообщить('20231230210102'); // Игнорируются все значения, отличные от цифр. // Разделители используются для упрощения Сообщить('2023.12.30 21:01:03'); Сообщить('2023\12\30-21~01~04'); // Обязательно должно задаваться значение года, месяца и дня. // Допускается опускать либо время целиком, либо только секунды. Сообщить('2023.12.30'); Сообщить('2023\12\30-21~01');
Показать решение
Установка даты из другого типа
// Преобразование Типа Строка в Тип Дата // Формат строки "ГодМесяцДеньЧасМинутаСекунда" ДатаИзСтроки = Дата("20231230210105"); Сообщить(ДатаИзСтроки); // Или ГодСтрока = "2023"; МесяцСтрока = "12"; ДеньСтрока = "30"; ЧасСтрока = "21"; МинутаСтрока = "01"; СекундаСтрока = "06"; ДатаИзСтроки = Дата(ГодСтрока + МесяцСтрока + ДеньСтрока + ЧасСтрока + МинутаСтрока + СекундаСтрока); Сообщить(ДатаИзСтроки); // Преобразование Типа Число в Тип Дата ГодЧисло = 2023; МесяцЧисло = 12; ДеньЧисло = 30; ЧасЧисло = 21; МинутаЧисло = 01; СекундаЧисло = 07; ДатаИзЧисла = Дата(ГодЧисло, МесяцЧисло, ДеньЧисло, ЧасЧисло, МинутаЧисло, СекундаЧисло); Сообщить(ДатаИзЧисла);
Показать решение
Методы работы с типом Дата
// Инициализируем Дату для дальнейшей работы НашаДата = '20230920210102'; //20.09.2023 21:01:02 НачалоГода = НачалоГода(НашаДата); // 01.01.2023 00:00:00 НачалоКвартала = НачалоКвартала(НашаДата); // 01.07.2023 00:00:00 НачалоМесяца = НачалоМесяца(НашаДата); // 01.09.2023 00:00:00 НачалоНедели = НачалоНедели(НашаДата); // 18.09.2023 00:00:00 НачалоДня = НачалоДня(НашаДата); // 20.09.2023 00:00:00 НачалоЧаса = НачалоЧаса(НашаДата); // 20.09.2023 21:00:00 НачалоМинуты = НачалоМинуты(НашаДата); // 20.09.2023 21:01:00 КонецГода = КонецГода(НашаДата); // 31.12.2023 23:59:59 КонецКвартала = КонецКвартала(НашаДата); // 30.09.2023 23:59:59 КонецМесяца = КонецМесяца(НашаДата); // 30.09.2023 23:59:59 КонецНедели = КонецНедели(НашаДата); // 30.09.2023 23:59:59 КонецДня = КонецДня(НашаДата); // 20.09.2023 23:59:59 КонецЧаса = КонецЧаса(НашаДата); // 20.09.2023 21:59:59 КонецМинуты = КонецМинуты(НашаДата); // 20.09.2023 21:01:59 // Получение частей даты. На выходе тип Число Год = Год(НашаДата); //2023 Месяц = Месяц(НашаДата); //12 День = День(НашаДата); //30 Час = Час(НашаДата); //21 Минута = Минута(НашаДата); //1 Секунда = Секунда(НашаДата);//2 // Получение порядкового номера дня в году НомерДняВГоду = ДеньГода(НашаДата); //263 Сообщить(НомерДняВГоду); // Получение порядкового номера дня в неделе (1 - понедельник) НомерДняВНеделе = ДеньНедели(НашаДата); //3 Сообщить(НомерДняВНеделе); // Получение порядкового номера недели в году НомерНеделиВГоду = НеделяГода(НашаДата); //39 Сообщить(НомерНеделиВГоду);
Показать решение
Операции с типом Дата
// Инициализируем Дату для дальнейшей работы НашаДата = '20230920210102'; //20.09.2023 21:01:02 // Сложение и вычитание Даты с Числом. // Число всегда будет неявно преобразовано в секунды НаСорокСекундБольше = НашаДата + 40; //20.09.2023 21:01:42 НаТридцатьСекундБольше = НашаДата + 30; //20.09.2023 21:01:32 НаДвадцатьСекундМеньше = НашаДата - 20; //20.09.2023 21:00:42 // Операции с месяцем НаМесяцБольше = ДобавитьМесяц(НашаДата, 1); // 20.10.2023 21:01:32 НаТриМесяцаБольше = ДобавитьМесяц(НашаДата, 3); // 20.12.2023 21:01:32 ДваМесяцаНазад = ДобавитьМесяц(НашаДата, -2); // 20.07.2023 21:01:32 // Арифметические операции с датами // Складывать даты можно только с числами, которые преобразовуются в секунды // Ошибка: преобразование к типу Число не может быть выполнено СуммаДат = НашаДата + Дата(2023, 12, 09, 12, 21, 01); // Если вычесть даты, ответ будет в секундах РазностьДат = НашаДата - Дата("20230820210102");//2 678 400 // Что с миллисекундами? ДатаС_Миллисекундами = НашаДата + 0.1; МиллисекундВДате = ДатаС_Миллисекундами - НашаДата; Если ЗначениеЗаполнено(МиллисекундВДате) Тогда Сообщить(СтрШаблон("Даты разные. Разница дат: %1", МиллисекундВДате)); Иначе Сообщить("Даты совпадают. Миллисекунды не учитываются."); КонецЕсли;
Показать решение
Значения данного типа содержат дату григорианского календаря (с 01 января 0001 года) и время с точностью до 0,1 миллисекунды.
Строка цифр, заключенная в одинарные кавычки вида: 'ГГГГММДДччммсс', где:
Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Допускается опускать либо время целиком, либо только секунды. Если значение секунд не указано, используется значение "0". Для задания даты, соответствующей началу отсчета, достаточно указать '00010101'. В литерале даты игнорируются все значения, отличные от цифр. Разделители в литерале можно указывать для упрощения ввода даты.
Синтаксис: Год(<Дата>)
Параметры:
<Дата> (обязательный) Тип: Дата. Исходная дата.
Возвращаемое значение: Тип: Число. Год в указанной дате.
Описание: Определяет год в указанной дате.
Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.