0

Как получить дату из строки?

Важно помнить, что во встроенном языке 1С:Предприятие 8 строка будет восприниматься как дата только в том случае, если она удовлетворяет следующей схеме:

20200101103000  (дата + время)
ГГГГ----------- номер года
    ММ--------- номер месяца
      ДД------- номер дня месяца
        чч----- час
          мм--- минута
            сс- секунда

Часть даты, описывающую время (в нашем случае это "103000"), можно опустить. Платформа будет понимать, что подразумевается время 00:00:00

20200101 (только дата)
ГГГГ----- номер года
    ММ--- номер месяца
      ДД- номер дня месяца

Любой переменной или реквизиту типа Дата можно присвоить значение несколькими способами:

  1. Используя строковые литералы:
    НоваяДата = '20200101';
    Сообщить(НоваяДата);
    //Результат:
    //	01.01.2020 0:00:00
    
  2. Используя преобразование строкового значения с помощью встроенной функции Дата():
    НоваяДата = Дата('20200101');
    Сообщить(НоваяДата);
    //Результат:
    // 01.01.2020 0:00:00
    
  3. Используя преобразование составных частей даты с помощью встроенной функции Дата():
    ДатаСтрокой = "01012020";
    Год = Число(Сред(ДатаСтрокой, 5, 4));
    Месяц = Число(Сред(ДатаСтрокой, 3, 2));
    День = Число(Сред(ДатаСтрокой, 1, 2));
    НоваяДата = Дата(Год, Месяц, День);
    Сообщить(НоваяДата);
    //Результат:
    // 01.01.2020 0:00:00
    

Обратите внимание, что в последнем примере переменная ДатаСтрокой содержит строковое представление даты другого формата, отличного от принятого на платформе 1С:Предприятие 8

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *