Закажите бесплатный расчет стоимости вашей задачи по 1С!
Перезвоним за 10 минут! (в рабочие часы)

Как преобразовать строку в дату 1С 8.3

Очень частая задача в программировании 1С — преобразование одного типа данных в другой. Проблема преобразования строки в дату — это произвольность написания строки. Кому-то требуется превратить строку «15.12.15» в нужное число, у кого-то значение «15 декабря 2015 года», а возможно, «15.12.2015 20:42:22».

Рассмотрим примерные варианты решения такой задачи.

Варианты преобразования даты из строки

Проще всего преобразовать строку вида «20151215204222», используя метод «Дата»:

Дата(«20151215204222»)  // 15.12.2015 20:42:22

Со строкой «15.12.2015 20:42:22» также прекрасно справляется типовой метод:

Дата(«15.12.2015 20:42:22»)  //15.12.2015 20:42:22

Второй вариант, если мы знаем отдельные составляющие даты в строковом формате: год, месяц, день и т.д:

Дата(«2015″,»12″,»15″,»20″,»42″,»22»)  // 15.12.2015 20:42:22

Пример преобразования строки вида «2015-12-15 20:42:22»:

СтроковаяДата = «2015-12-15 20:42:22»;
СтроковаяДата = СтрЗаменить(СтроковаяДата , «-«,»»);
СтроковаяДата = СтрЗаменить(СтроковаяДата , «:»,»»);
НоваяДата = Дата(СтроковаяДата ); // 15.12.2015 20:42:22

Если дата указан так «20:42:22 2015/12/15», можно преобразовать её следующим образом:

СтроковаяДата = «20:42:22 2015/12/15»;
СтроковаяДата = СтрЗаменить(СтроковаяДата , «/»,»»);
СтроковаяДата = СтрЗаменить(СтроковаяДата , «:»,»»);
НоваяДата = Дата(Прав(СтроковаяДата , 8) + Лев(СтроковаяДата ,6));

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Остались вопросы?

СПРОСИТЕ в комментариях!

Комментариев: 12 на “Как преобразовать строку в дату 1С 8.3
  1. А теперь запустите этот код на компьютере, где стоит стандарт отображения даты, отличный от принятого в России.

    Ответить

    • Командой Формат, после преобразования скорее всего очень легко решится.

      Ответить

  2. у меня не справляется метод дата()…..

    Ответить

  3. СтроковаяДата = «2015-12-15 20:42:22»;
    СтроковаяДата = СтрЗаменить(СтроковаяДата , «-«,»»);
    СтроковаяДата = СтрЗаменить(СтроковаяДата , «:»,»»);
    НоваяДата = Дата(СтроковаяДата ); // 15.12.2015 20:42:22

    Здесь нужна еще одна операция для удаления пробела.

    Ответить

  4. нет самого интересного, когда дата в виде 01.01.20

    Ответить

    • Мона так:
      СтроковаяДата = «01.01.20»
      ПолученнаяДата = Дата(СтроковаяДата + » 00:00:01″;

      Ответить

      • А если не таким способом, а другие варианты существуют для такого вида даты? «01.01.2020»?

        Ответить

  5. Дата(«15.12.2015 20:42:22») — это не работает

    Ответить

  6. В начале статьи обозначена задача преобразовать строку «15 декабря 2015 года» в дату, но так и не раскрыто как это сделать…

    Ответить

    • вот согласна)

      Ответить

    • Курсы для кого тогда, если все здесь раскрыть ))

      Ответить

Добавить комментарий:

Ваш адрес email не будет опубликован.