Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Преобразование из строки в дату
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
onsamuy
Всегда думал, что в эту функцию нужно передавать только строковое представление даты в формате YYYYMMDDHHMMSS. И синтакс помощник пишет то же самое.

Встроенные функции языка (Script functions)
Дата (Date)
Вариант синтаксиса: По строке

Синтаксис:

Дата(<Значение>)
Параметры:

<Значение> (обязательный)

Тип: Строка.
Исходное значение даты.
Строка должна содержать дату в локальном формате даты или в каноническом виде YYYYMMDDHHMMSS.
Описание варианта метода:

При преобразовании, строка должна содержать дату в каноническом формате "ГГГГММДДччммсс" (см. раздел "Примитивные типы данных").



А тут случайно передал строку "19.08.2013 00:00:00" и о чудо, мне возвратило дату! Как такое возможно?
logist
Цитата(onsamuy @ 23.08.13, 9:59) необходимо зарегистрироваться для просмотра ссылки
Как такое возможно?

Возможно. тип Дата допускает содержание различных разделителей. Стандартное представление даты в 1С трансформируется в значение, так же разделителями могут быть запятые.
Vofka
Цитата(onsamuy @ 23.08.13, 9:59) необходимо зарегистрироваться для просмотра ссылки
Как такое возможно?

Недокументированная возможность.
ignsv
Наверное не в тему:
Дата('2005абра12кадабра02 пять минут !!!0005')
ррезультат: 02.12.2005 0:05:00. Система откидывает все не числа, а потом преобразует в дату все по той же форме "ГГГГММДДччммсс".
Petre
Более того: '2005абра12кадабра02 пять минут !!!0005' дает такой же результат.
А вот что пишет СП:
Цитата
Дата (Date)
Описание:
Значения данного типа содержит дату григорианского календаря (с 01 января 0001 года) и время с точностью до секунды.

Литералы:
Строка цифр, заключенная в одинарные кавычки вида: 'ГГГГММДДччммсс', где:

ГГГГ - четыре цифры года (включая тысячелетие и век);
ММ - две цифры месяца;
ДД - две цифры даты;
чч - две цифры часа (в 24-х часовом формате);
мм - две цифры минут;
сс - две цифры секунд;
Во встроенном языке в литерале типа Дата обязательно должно задаваться значение года, месяца и дня. Для задания даты соответствующей началу отсчета достаточно указать '00010101'. Допускается при указании литералов типа Дата опускать последние символы (секунды, минуты, часы и т.д.). Это означает, что данные параметры будут равны нулю (для времени) или единице (для даты). В литерале даты допускается использование различных разделителей.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.