Skip to content

Маски даты и времени

Тип маски DateTime позволяет пользователям вводить значения даты и времени в редакторах в соответствии с указанной маской ввода. Маску ввода также можно использовать для форматирования значений даты и времени в режиме отображения (когда редактирование текста не активно). По умолчанию для контрола DateEditor включен тип маски DateTime. Чтобы включить этот тип маски для других текстовых редакторов, установите для свойства редактора TextEditor.MaskType значение DateTime.

Используйте свойство редактора Mask, чтобы задать маску ввода. Маска ввода - это строка, которая определяет шаблон, в соответствии с которым вводится или форматируется значение даты и времени.

Текущие региональные настройки влияют на большинство масок даты и времени. Например, региональные настройки определяют отображаемые названия дней недели и месяцев. Вы можете принудительно присвоить маске определенный регион с помощью свойства TextEditor.MaskCulture.

Редакторы Eremex поддерживают стандартные и пользовательские маски даты и времени.

Стандартные маски

Стандартные маски даты и времени, поддерживаемые редакторами Eremex, соответствуют наиболее распространенному standard date and time display formats, который вы можете использовать для форматирования значений в .NET.

Пример

В следующем примере маска d применяется к DateEditor. Эта маска форматирует значение редактирования в соответствии с системным шаблоном краткой даты.

xmlns:mxe="https://schemas.eremexcontrols.net/avalonia/editors"

<mxe:DateEditor x:Name="DateEditor" Mask="d"/>

dateeditor-mask-d-example

Стандартные спецификации масок

Стандартная маска даты и времени состоит из одного стандартного спецификатора маски. В таблице ниже приведены доступные стандартные спецификации масок.

Спецификатор маски Описание Пример (ru-Ru)
d Шаблон короткой даты.

Смотрите свойство CultureInfo.DateTimeFormat.ShortDatePattern.
"05.07.2026"
D Шаблон с длинной датой.

Смотрите свойство CultureInfo.DateTimeFormat.LongDatePattern.
"воскресенье, 5 июля 2026 г."
t Кратковременный паттерн.

Смотрите свойство CultureInfo.DateTimeFormat.ShortTimePattern.
"13:05"
T Долговременный паттерн.

Смотрите свойство CultureInfo.DateTimeFormat.LongTimePattern.
"13:05:17"
f Полная последовательность дат и времени (короткое время).

Маска сочетает в себе длинные шаблоны даты и короткие шаблоны времени, разделенные пробелом.
"пятница, 23 января 2026 г. 18:15"
F Полная последовательность дат и времени (длительное время).

Смотрите свойство CultureInfo.DateTimeFormat.FullDateTimePattern.
"пятница, 23 января 2026 г. 18:15:21"
g Общая последовательность дат и времени (короткое время).

Маска сочетает в себе шаблоны краткой даты и краткого времени, разделенные пробелом.
"30.09.2025 19:35"
G Общая последовательность дат и времени (длительное время).

Маска сочетает в себе шаблоны короткой даты и длительного времени, разделенные пробелом.
"30.09.2025 19:35:07"
M или m Дневной график месяца.

Смотрите свойство CultureInfo.DateTimeFormat.MonthDayPattern.
"12 августа"
Шаблон R или r RFC1123.

Смотрите свойство CultureInfo.DateTimeFormat.RFC1123Pattern.
s Сортируемый шаблон даты и времени; соответствует стандарту ISO 8601.

Смотрите свойство CultureInfo.DateTimeFormat.SortableDateTimePattern.
"2025-09-18T11:57:33"
u Универсальный сортируемый шаблон даты и времени.

Смотрите свойство CultureInfo.DateTimeFormat.UniversalSortableDateTimePattern.
"2025-09-18 11:57:33Z"
Y или y Шаблон Год-месяц.

Смотрите свойство CultureInfo.DateTimeFormat.YearMonthPattern.
"июль 2026 г."

Пользовательские маски

Вы можете создавать пользовательские маски, если стандартные маски не соответствуют вашим конкретным потребностям. Пользовательская маска состоит из одного или нескольких пользовательских спецификаторов маски.

Пример

В следующем примере маска 'DATE:' yyyy MMMM dd, 'TIME:' HH:mm применяется к DateEditor. Эта маска позволяет пользователям вводить части значения даты и времени в зависимости от даты-времени. В маске также отображаются статические (доступные только для чтения) строки DATE и TIME.

dateeditor-custommask-example

Пользовательские спецификации масок

В следующей таблице показаны поддерживаемые пользовательские спецификаторы масок.

Спецификатор маски Описание Пример
d Число месяца (1,2...31).

Используйте спецификатор маски %d для отображения только дня месяца. В противном случае спецификатор d, используемый отдельно, интерпретируется как шаблон короткой даты.
2026-07-08T15:11:35 → "8"
dd Число месяца (01,02...31). 2026-07-08T15:11:35 → "08"
ddd Сокращенное название дня недели, доступное только для чтения. 2026-07-08T15:11:35 → "ср"
dddd Полное название дня недели, доступное только для чтения. 2026-07-08T15:11:35 → "среда"
F или f

FF или ff
FFF или fff
FFFF или ffff
FFFFF или fffff
FFFFFF или ffffff
FFFFFFF или fffffff
Доли секунд, представленные цифрами 1,2..7.

Используйте спецификатор маски %F или %f для отображения только десятых долей секунды. В противном случае спецификатор f/F, используемый отдельно, интерпретируется как полный шаблон даты и времени.
2026-07-08T15:11:35.249850("fff") → 249
s Второй (0,1..59).

Используйте спецификатор маски %s для отображения только секундной части. В противном случае спецификатор s, используемый отдельно, интерпретируется как сортируемый шаблон даты и времени.
2030-02-07T01:04:08 → "8"
ss Второй (00,01..59). 2030-02-07T01:04:08 → "08"
h Час, используя 12-часовые часы (1..12). 2030-02-07T01:04:08 → "1"
hh Час, используя 12-часовые часы (01,02..12). 2030-02-07T01:04:08 → "01"
H Час, используя 24-часовые часы (1..23). 2030-02-07T01:04:08 → "1"

2029-10-04T14:01:02 → "14"
HH Час, используя 24-часовые часы (01,02..23). 2030-02-07T01:04:08 → "01"

2029-10-04T14:01:02 → "14"
m Минута (0..59).

Используйте спецификатор маски %m для отображения только минутной части. В противном случае, используемый отдельно спецификатор m интерпретируется как шаблон дня месяца.
2030-02-07T01:04:08 → "4"
mm Минута (00,01..59). 2030-02-07T01:04:08 → "04"
M Номер месяца (1..12). 2030-02-07T01:04:08 → "2"
MM Номер месяца (01,02..12). 2030-02-07T01:04:08 → "02"
MMM Сокращенное название месяца. 2030-02-07T01:04:08 → "февр."
MMMM Полное название месяца. 2030-02-07T01:04:08 → "февраль"
y Две последние цифры года (0-99).

Используйте спецификатор маски %y для отображения только года. В противном случае, используемый только спецификатор y интерпретируется как шаблон года и месяца.
2001-01-08T09:02:07 → "1"
yy Две последние цифры года (00-99). 2001-01-08T09:02:07 → "01"
yyyy Год в виде четырехзначного числа. 2001-01-08T09:02:07 → "2001"
g или gg Период или эра. 2001-01-08T09:02:07 → "н. э."
t Первая буква в обозначении AM/PM.

Используйте спецификатор маски %t для отображения только первой буквы обозначения AM/PM. В противном случае спецификатор t, используемый отдельно, интерпретируется как кратковременный шаблон.
2001-01-08T09:02:07 → "А"
tt Обозначение AM/PM. 2001-01-08T09:02:07 → "Я"
z Часовое смещение текущего системного времени от UTC без начальных нулей. 2001-01-08T09:02:07 → "+3"
zz Часовое смещение текущего времени системы от UTC с начальным нулем для однозначного значения. 2001-01-08T09:02:07 → "+03"
zzzz Смещение текущего времени системы в часах и минутах от UTC. 2001-01-08T09:02:07 → "+03:00"
: Разделитель по времени.

Смотрите свойство CultureInfo.DateTimeFormat.TimeSeparator.
2001-01-08T09:02:07 (ЧД:мм) → "09:02"
/ Разделитель дат.

Смотрите свойство CultureInfo.DateTimeFormat.DateSeparator.
2001-01-08T09:02:07 (гггг/ММ/дд) → "2001.01.08"
\ Экранирующий символ. Символ, следующий за экранирующим символом, интерпретируется как литерал, а не как спецификатор маски. Используйте "\\" чтобы вставить символ обратной косой черты в качестве литерала. 2001-01-08T09:02:07(\t\m: ВН:мм) → "начало: 09:02"
'string '
"string "
Строка, заключенная в одинарные или двойные кавычки, отображается как есть, в режиме только для чтения. Эта строка не сохраняется в значении редактирования редактора. 2001-01-08T09:02:07("время:" ЧЧ:мм) → "время: 09:02"
Все остальные символы Эти символы отображаются как есть, в режиме только для чтения. Они не сохраняются в значении редактирования редактора. 2001-01-08T09:02:07(\Мн. № ММ) → "Мн. № 01"



* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.