Руководство разработчика

Маска даты

Маска даты позволяет выполнять преобразование даты в строку и наоборот в различных видах.

Компоненты маски соответствуют дню (день в месяце), месяцу и году. Компоненты маски могут указываться слитно или через разделитель. Допустимы следующие символы для компонентов маски:

Маска по умолчанию выглядит как:

dd.mm.yyyy

Разделитель по умолчанию "." (точка) используется при задании маски. Маска и разделитель по умолчанию соответствуют представлению констант типа дата в языке И++.

Если в маске нет ни одной точки, то она обрабатывается как слитная маска. Например, "yyyymmdd" - допустимая слитная маска. Компоненты слитной маски определяются сменой символа компонента, а не наличием разделителя. При преобразованиях с использованием слитной маски указанный разделитель игнорируется.

Общие требования к компоненту маски:

Для компонента года разрешенная длина 2, 4 или более. Например, "yyy" или "YYY" - ошибка. Когда длина компонента года равна 2, то значения менее 50 относятся к XXI веку (например, 24 соответствует 2024 году), а значения 50 и более - к XX веку (например, 61 соответствует 1961 году).

Если длина компонента превышает 2 или для года 4, то дополнительные позиции заполняются нулями (нижний регистр) или пробелами (верхний регистр). Например, для маски "DDD.MMM.YYYYY" дата 04.05.2024 будет преобразована в " 4. 5. 2024", а для маски "ddd.mmm.yyyyy" в "004.005.02024". При обратном преобразовании из строки в дату лидирующие нули и пробелы роли не играют.

Разделителем может быть указан любой символ, кроме символов компонентов маски. Например, для маски "yyyy.mm.dd" и разделителя "/" дата 04.05.2024 будет представлена как "2024/05/04". Если разделитель - пустая строка, то используется разделитель по умолчанию "." (точка). Если длина указанного разделителя более одного символа, то используется только первый символ.


См. также: