Список функций для работы с датой при задании ограничений, пример применения в коде
Название функции | Тип возвращаемого значения | Типы аргументов | Примечание |
---|---|---|---|
СЕГОДНЯ | :Дата/Время | без параметров | Возвращает текущую дату вместе со временем |
ТолькоДата | :Дата/Время | :Дата/Время | |
ТолькоВремя | :Дата/Время | :Дата/Время | |
День недели | :Число | :Дата/Время | 1 = Понедельник, 2 = Вторник и т.д. |
ГОД | :Число | :Дата/Время | |
МЕСЯЦ | :Число | :Дата/Время | |
ДЕНЬ | :Число | :Дата/Время | |
ЧАС | :Число | :Дата/Время | |
Минута | :Число | :Дата/Время | |
РАЗНОСТЬ ДАТ | :Число | :ЧастьДаты, :Дата/Время, :Дата/Время | Например, РАЗНОСТЬ ДАТ(ГОД(), ДатаРождения, ДатаСмерти) |
'’Примечание’’: Чтобы получить, например, текущий день или текущее время нужно выполнить суперпозицию, соответственно, ТолькоДата(СЕГОДНЯ()) или ТолькоВремя(СЕГОДНЯ()).
Пример: вывести тех, у кого сегодня день рождения
var langDef = new ExternalLangDef();
Function function = langDef.GetFunction(langDef.funcEQ,
langDef.GetFunction(langDef.funcOnlyDate,
new VariableDef(langDef.DateTimeType, "ДатаРождения")),
langDef.GetFunction(langDef.funcOnlyDate,
langDef.GetFunction("TODAY")));
Пример: вывести тех, кто умер в 01:00:00
var langDef = new ExternalLangDef();
Function function = langDef.GetFunction(langDef.funcEQ,
langDef.GetFunction(langDef.funcOnlyTime,
new VariableDef(langDef.DateTimeType, "ДатаСмерти")),
langDef.GetFunction(langDef.funcOnlyTime,
DateTime.Parse("01:00:00")));