Поделиться через


Строки пользовательского формата даты и времени

Строка формата даты и времени определяет текстовое представление значения Date, DateTime, DateTimeZone или Time, которое приводит к операции форматирования. Также они могут определять представление значения даты и времени, необходимое при операции синтаксического анализа для успешного преобразования строки в дату и время. Строка настраиваемого формата состоит из одного или нескольких настраиваемых описателей формата даты и времени. Любая строка, которая не является стандартной строкой формата даты и времени, интерпретируется как настраиваемая строка формата даты и времени.

В операциях форматирования строки настраиваемого формата даты и времени можно использовать с ToText методом экземпляра даты и времени и часового пояса. В следующем примере показано его использование.

let
    Source = 
    {
        Text.From("Today is " & Date.ToText(#date(2011, 6, 10), [Format = "MMMM dd yyyy"]) & "."),
        Text.Format("The current date and time: #{0}", {DateTimeZone.ToText(
            #datetimezone(2011, 6, 10, 15, 24, 16, 0, 0), [Format = "MM/dd/yy H:mm:ss zzz"])}
        )
    }
in
    Source

// The example displays the following output:
//    Today is June 10, 2011.
//    The current date and time: 06/10/11 15:24:16 +00:00

В операциях синтаксического анализа строки формата даты и времени можно использовать с функциями Date, DateTime, Time и DateTimeZone . Эти функции требуют, чтобы входная строка соответствовала определенному шаблону для успешной операции синтаксического анализа. В следующем примере показан вызов функции DateTime.FromText для анализа даты, которая должна включать месяц, день и двухзначный год.

let
    dateValues = { "30-12-2011", "12-30-2011", "30-12-11", "12-30-11"},
    pattern = "MM-dd-yy",
    convertedDates = List.Transform(dateValues, (dateValue) => 
        try Text.Format("Converted '#{0}' to #{1}.", {dateValue, DateTime.FromText(dateValue, [Format=pattern])}) 
        otherwise Text.Format("Unable to convert '#{0}' to a date and time.", {dateValue}))
in
    convertedDates

// The example displays the following output:
//    Unable to convert '30-12-2011' to a date and time.
//    Unable to convert '12-30-2011' to a date and time.
//    Unable to convert '30-12-11' to a date and time.
//    Converted '12-30-11' to 12/30/2011.

В следующей таблице описаны настраиваемые описатели формата даты и времени и отображается строка результатов, созданная каждым описателями формата. По умолчанию результирующие строки отражают соглашения о форматировании для языка и региональных параметров en-US. Если конкретный описатель формата создает локализованную строку, то в примере также указываются язык и региональные параметры, для которых применяется полученная строка. Дополнительные сведения об использовании строк пользовательского формата даты и времени см. в разделе "Заметки ".

Спецификатор формата Description Примеры
"d" День месяца, от 1 до 31.

Дополнительные сведения: описатель настраиваемого формата "d".
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
"dd" День месяца от 01 до 31.

Дополнительные сведения: описатель пользовательского формата dd.
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
"ddd" Сокращенное название дня недели.

Дополнительные сведения: описатель пользовательского формата ddd.
2009-06-15T13:45:30 -> Mon (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. (fr-FR)
"dddd" Полное название дня недели.

Дополнительные сведения: описатель пользовательского формата dddd.
2009-06-15T13:45:30 -> понедельник (en-US)

2009-06-15T13:45:30 -> понедельник (ru-RU)

2009-06-15T13:45:30 -> lundi (fr-FR)
"f" Десятые доли секунды в значении даты и времени.

Дополнительные сведения: описатель настраиваемого формата f.
2009-06-15T13:45:30.61700000 -> 6

2009-06-15T13:45:30.05 -> 0
"ff" Сотые доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата "ff".
2009-06-15T13:45:30.61700000 -> 61

2009-06-15T13:45:30.0050000> - 00
"fff" Тысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата fff.
6.15.2009 13:45:30.617 -> 617

6.15.2009 13:45:30.0005 -> 000
"ffff" Десятитысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата "ffff".
2009-06-15T13:45:30.6175000> - 6175

2009-06-15T13:45:30.00005000 -> 0000
"fffff" Стотысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата fffff.
2009-06-15T13:45:30.6175400 -> 61754

6.15.2009 13:45:30.000005 -> 00000
"ffffff" Миллионные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата ffffff.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.000005 -> 0000000
"fffffff" Десятимиллионные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата fff.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
"F" Если ненулевое значение, то десятые доли секунды в значении даты и времени.

Дополнительные сведения: описатель настраиваемого формата F.
2009-06-15T13:45:30.61700000 -> 6

2009-06-15T13:45:30.05000000 -> (без выходных данных)
"FF" Если ненулевое значение, то сотые доли секунды в значении даты и времени.

Дополнительные сведения: описатель настраиваемого формата FF.
2009-06-15T13:45:30.61700000 -> 61

2009-06-15T13:45:30.0050000 -> (без выходных данных)
"FFF" Если ненулевое значение, то тысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата FFF.
2009-06-15T13:45:30.61700000 -> 617

2009-06-15T13:45:30.0005000 -> (без выходных данных)
"FFFF" Если ненулевое значение, то десятитысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата FFFF.
2009-06-15T13:45:30.5275000> - 52755

2009-06-15T13:45:30.00005000 -> (без выходных данных)
"FFFFF" Если ненулевое значение, то стотысячные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата FFFFF.
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (без выходных данных)
"FFFFFF" Если ненулевое значение, то миллионные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата FFFFFF.
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (без выходных данных)
"FFFFFFF" Если ненулевое значение, то десятимиллионные доли секунды в значении даты и времени.

Дополнительные сведения: описатель пользовательского формата FFFFFFF.
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
"g", "gg" Период или эра.

Дополнительные сведения: описатель пользовательского формата "g" или "gg".
2009-06-15T13:45:30.61700000 -> A.D.
"h" Час в 12-часовом формате от 1 до 12.

Дополнительные сведения: описатель пользовательского формата h.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
"чч" Час в 12-часовом формате от 01 до 12.

Дополнительные сведения: описатель пользовательского формата hh.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
"H" Час в 24-часовом формате от 0 до 23.

Дополнительные сведения: описатель настраиваемого формата H.
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
"HH" Час в 24-часовом формате от 00 до 23.

Дополнительные сведения: описатель настраиваемого формата HH.
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
"K" Данные о часовом поясе.

Дополнительные сведения: описатель настраиваемого формата K.
2009-06-15T13:45:30, не указано ->

2009-06-15T13:45:30, UTC -> +00:00

2009-06-15T13:45:30, локальный —> -07:00 (зависит от параметров локального или облачного компьютера)
"m" Минута, от 0 до 59.

Дополнительные сведения: описатель пользовательского формата "m".
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
"mm" Минута, от 00 до 59.

Дополнительные сведения: описатель настраиваемого формата mm.
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
"M" Месяц, от 1 до 12.

Дополнительные сведения: описатель настраиваемого формата "M".
2009-06-15T13:45:30 -> 6
"MM" Месяц от 01 до 12.

Дополнительные сведения: описатель настраиваемого формата MM.
2009-06-15T13:45:30 -> 06
"MMM" Сокращенное название месяца.

Дополнительные сведения: описатель настраиваемого формата MMM.
2009-06-15T13:45:30 -> Июнь (en-US)

2009-06-15T13:45:30 -> juin (fr-FR)

2009-06-15T13:45:30 -> Июнь (zu-ZA)
"MMMM" Полное название месяца.

Дополнительные сведения: описатель пользовательского формата MMMM.
2009-06-15T13:45:30 -> Июнь (en-US)

2009-06-15T13:45:30 -> juni (da-DK)

2009-06-15T13:45:30 -> Juni (zu-ZA)
"s" Второй, от 0 до 59.

Дополнительные сведения: описатель пользовательского формата "s".
2009-06-15T13:45:09 -> 9
"сс" Второй, от 00 до 59.

Дополнительные сведения: описатель пользовательского формата "ss".
2009-06-15T13:45:09 -> 09
"t" Первый символ указателя AM/PM (до полудня/после полудня).

Дополнительные сведения: описатель настраиваемого формата t.
2009-06-15T13:45:30 -> P (en-US)

2009-06-15T13:45:30 -> 午 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"tt" Указатель AM/PM (до полудня/после полудня).

Дополнительные сведения: описатель пользовательского формата "tt".
2009-06-15T13:45:30 -> PM (en-US)

2009-06-15T13:45:30 -> 午後 (ja-JP)

2009-06-15T13:45:30 -> (fr-FR)
"y" Год, в диапазоне от 0 до 99.

Дополнительные сведения: описатель пользовательского формата "y".
0001-01-01T00:00:00 -> 1

0900-01-01T00:00:00 -> 0

1900-01-01T00:00:00 -> 0

2009-06-15T13:45:30 -> 9

2019-06-15T13:45:30 -> 19
"yy" Год, в диапазоне от 00 до 99.

Дополнительные сведения: описатель пользовательского формата "yy".
0001-01-01T00:00:00 -> 01

0900-01-01T00:00:00 -> 00

1900-01-01T00:00:00 -> 00

2019-06-15T13:45:30 -> 19
"yyy" Год в виде как минимум трех цифр.

Дополнительные сведения: описатель пользовательского формата "гггг".
0001-01-01T00:00:00 -> 001

0900-01-01T00:00:00 -> 900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyy" Год в виде четырехзначного числа.

Дополнительные сведения: описатель пользовательского формата "гггг".
0001-01-01T00:00:00 -> 0001

0900-01-01T00:00:00 -> 0900

1900-01-01T00:00:00 -> 1900

2009-06-15T13:45:30 -> 2009
"yyyyy" Год в виде пятизначного числа.

Дополнительные сведения: описатель пользовательского формата yyyyy.
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
"z" Часовой сдвиг от времени в формате UTC (универсального времени), без нулей в начале.

Дополнительные сведения: описатель настраиваемого формата z.
2009-06-15T13:45:30-07:00 -> -7
"zz" Часовой сдвиг от времени в формате UTC (универсального времени) с нулями в начале для значений из одной цифры.

Дополнительные сведения: описатель пользовательского формата "zz".
2009-06-15T13:45:30-07:00 -> -07
"zzz" Сдвиг в часах и минутах от времени в формате UTC (универсального времени).

Дополнительные сведения: описатель настраиваемого формата zzz.
2009-06-15T13:45:30-07:00 -> -07:00
":" Разделитель компонентов времени.

Дополнительные сведения: описатель настраиваемого формата ":".
2009-06-15T13:45:30 -> : (en-US)

2009-06-15T13:45:30 -> . (it-IT)

2009-06-15T13:45:30 -> : (ja-JP)
"/" Разделитель компонентов даты.

Дополнительные сведения: описатель настраиваемого формата "/".
2009-06-15T13:45:30 -> / (en-US)

2009-06-15T13:45:30 - -> (ar-DZ)

2009-06-15T13:45:30 -> . (tr-TR)
string

'string'
Буквенный разделитель строк.

Дополнительные сведения см. в подразделе Символьные литералы.
2009-06-15T13:45:30 ("arr:"" h:m t) -> arr: 1:45 P

2009-06-15T13:45:30 ('arr:' h:m t) -> arr: 1:45 P
% Задает следующий символ в качестве настраиваемого описателя формата.

Дополнительные сведения: использование отдельных описателей формата.
2009-06-15T13:45:30 (%h) -> 1
\, "", ' Escape-последовательности.

Дополнительные сведения: символьные литералы и использование escape-последовательностей.
2009-06-15T13:45:30 (h \h) -> 1 ч

2009-06-15T13:45:30 (h "h"") -> 1 ч

2009-06-15T13:45:30 (h 'h') -> 1 ч
Любой другой знак Символ копируется в результирующую строку без изменений.

Дополнительные сведения см. в подразделе Символьные литералы.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

В следующих подразделах предоставляются дополнительные сведения о всех настраиваемых описателях формата даты и времени. Если не указано иное, каждый описатель создает одинаковое строковое представление независимо от того, используется ли он со значением Date, DateTime, DateTimeZone или Time.

Описатель формата "d" для дня

Настраиваемый описатель формата "d"

Описатель пользовательского формата "d" представляет день месяца в виде числа от 1 до 31. День в виде одной цифры форматируется без нуля в начале.

Если описатель формата "d" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "d" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "d" используется в нескольких строках формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, M", Culture = ""]),
        // Displays 29, 8 

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, MMMM", Culture = "en-US"]),
        // Displays 29, August

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, MMMM", Culture = "es-MX"])
        // Displays 29, agosto
    }
in
    Source

К таблице

Настраиваемый описатель формата "dd"

Строка настраиваемого формата dd представляет день месяца в виде числа от 01 до 31. День в виде одной цифры форматируется с нулем в начале.

В следующем примере настраиваемый описатель формата "dd" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
        // Displays 02, 01 
    }
in
    Source

К таблице

Настраиваемый описатель формата "ddd"

Настраиваемый описатель формата "ddd" представляет сокращенное название дня недели. Локализованное сокращенное имя дня недели извлекается из текущего или указанного языка и региональных параметров.

В следующем примере описатель настраиваемый описатель формата "ddd" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "en-US"]),
        // Displays Thu 29 Aug

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "fr-FR"])
        // Displays jeu. 29 août
    }
in
    Source

К таблице

Настраиваемый описатель формата "dddd"

Настраиваемый описатель формата "dddd" (плюс любое количество дополнительных описателей "d") представляет полное название дня недели. Локализованное имя дня недели извлекается из текущего или указанного языка и региональных параметров.

В следующем примере настраиваемый описатель формата "dddd" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "en-US"]),
        // Displays Thursday 29 August

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "it-IT"])
        // Displays giovedì 29 agosto
    }
in
    Source

К таблице

Описатель формата "f" для секунд в нижнем регистре

Настраиваемый описатель формата "f"

Настраиваемый описатель формата "f" представляет наиболее значимую цифру секунд, то есть десятые доли секунды в значении даты и времени.

Если описатель формата "f" используется без других описателей формата, то он интерпретируется как описатель "f" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

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

В следующем примере настраиваемый описатель формата "f" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:f", Culture = ""]),
        // Displays 07:27:15:0

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:F", Culture = ""])
        // Displays 07:27:15:
    }
in
    Source

К таблице

Настраиваемый описатель формата "ff"

Настраиваемый описатель формата "ff" представляет две наиболее значимые цифры секунд, то есть сотые доли секунды в значении даты и времени.

В следующем примере настраиваемый описатель формата "ff" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:ff", Culture = ""]),
        // Displays 07:27:15:01

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FF", Culture = ""])
        // Displays 07:27:15:01
    }
in
    Source

К таблице

Настраиваемый описатель формата "fff"

Настраиваемый описатель формата "fff" представляет три наиболее значимые цифры секунд, то есть миллисекунды в значении даты и времени.

В следующем примере настраиваемый описатель формата "fff" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:fff", Culture = ""]),
        // Displays 07:27:15:018

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FFF", Culture = ""])
        // Displays 07:27:15:018
    }
in
    Source

К таблице

Настраиваемый описатель формата "ffff"

Настраиваемый описатель формата "ffff" представляет четыре наиболее значимые цифры секунд, то есть десятитысячные доли секунды в значении даты и времени.

Хотя можно отобразить десять тысяч второго компонента значения времени, это значение может быть не значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "fffff"

Настраиваемый описатель формата "FFFFF" представляет пять наиболее значимых цифр секунд, то есть стотысячные доли секунды в значении даты и времени.

Хотя можно отобразить сотни тысяч второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "ffffff"

Настраиваемый описатель формата "fffff" представляет шесть наиболее значимых цифр секунд, то есть миллионные доли секунды в значении даты и времени.

Хотя можно отобразить миллионы второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "fffffff"

Настраиваемый описатель формата "ffffff" представляет семь наиболее значимых цифр секунд, то есть десятимиллионные доли секунды в значении даты и времени.

Хотя можно отобразить десять миллионов секунд второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Описатель формата "F" для секунд в верхнем регистре

Настраиваемый описатель формата "F"

Настраиваемый описатель формата "F" представляет наиболее значимую цифру секунд, то есть десятые доли секунды в значении даты и времени. Ничего не отображается, если цифра равна нулю, а десятичная точка, которая соответствует количеству секунд, также не отображается.

Если описатель формата "F" используется без других описателей формата, то он интерпретируется как описатель "F" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

Число описателей формата "F", используемых при синтаксическом анализе, указывает максимальное количество наиболее значимых цифр дроби секунд, которые могут присутствовать для успешного анализа строки.

В следующем примере настраиваемый описатель формата "F" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:f", Culture = ""]),
        // Displays 07:27:15:0

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:F", Culture = ""])
        // Displays 07:27:15:
    }
in
    Source

К таблице

Настраиваемый описатель формата "FF"

Настраиваемый описатель формата "FF" представляет две наиболее значимые цифры секунд, то есть сотые доли секунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если две значимые цифры равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

В следующем примере настраиваемый описатель формата "FF" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:ff", Culture = ""]),
        // Displays 07:27:15:01

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FF", Culture = ""])
        // Displays 07:27:15:01
    }
in
    Source

К таблице

Настраиваемый описатель формата "FFF"

Настраиваемый описатель формата "FFF" представляет три наиболее значимые цифры секунд, то есть миллисекунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если три значимые цифры равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

В следующем примере настраиваемый описатель формата "FFF" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:fff", Culture = ""]),
        // Displays 07:27:15:018

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FFF", Culture = ""])
        // Displays 07:27:15:018
    }
in
    Source

К таблице

Настраиваемый описатель формата "FFFF"

Настраиваемый описатель формата "FFFF" представляет четыре наиболее значимые цифры секунд, то есть десятитысячные доли секунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если четыре значимые цифры равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

Хотя можно отобразить десять тысяч второго компонента значения времени, это значение может быть не значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "FFFFF"

Настраиваемый описатель формата "FFFFF" представляет пять наиболее значимых цифр секунд, то есть стотысячные доли секунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если пять значимых цифр равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

Хотя можно отобразить сотни тысяч второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "FFFFFF"

Настраиваемый описатель формата "FFFFFF" представляет шесть наиболее значимых цифр секунд, то есть миллионные доли секунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если шесть значимых цифр равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

Хотя можно отобразить миллионы второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Настраиваемый описатель формата "FFFFFFF"

Настраиваемый описатель формата "FFFFFFF" представляет семь наиболее значимых цифр секунд, то есть десятимиллионные доли секунды в значении даты и времени. Конечные нули не отображаются. Ничего не отображается, если семь значимых цифр равны нулю, и в этом случае десятичная точка, которая соответствует количеству секунд, также не отображается.

Хотя можно отобразить десять миллионов секунд второго компонента значения времени, это значение может не быть значимым. Точность значений даты и времени зависит от разрешения системных часов. В операционных системах Windows Server 2019 и Windows 11 разрешение часов составляет около 1 миллисекунда.

К таблице

Описатель формата "g" для эры

Настраиваемый описатель формата "g" или "gg"

Описатели настраиваемого формата "g" или "gg" (плюс любое количество дополнительных описателей "g") представляет период или эру, например A.D. Операция форматирования игнорирует этот описатель, если дата форматирования не имеет связанной строки периода или эры.

Если описатель формата "g" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "g" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "g" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(70, 08, 04), [Format = "MM/dd/yyyy g", Culture = ""]),
        // Displays 08/04/0070 A.D.

        Date.ToText(#date(70, 08, 04), [Format = "MM/dd/yyyy g", Culture = "fr-FR"])
        // Displays 08/04/0070 ap. J.-C.
    }
in
    Source

К таблице

Описатель формата "h" для часов в нижнем регистре

Настраиваемый описатель формата "h"

Описатель пользовательского формата "h" представляет час в виде числа от 1 до 12; т. е. час представлен 12-часовым часам, который подсчитывает целые часы с полуночи или полудня. Час после полуночи неотличим от того же часа после полудня. Час не округляется, и однозначный час форматируется без начального нуля. Например, для времени 5:43 утра или вечера этот настраиваемый описатель формата выведет "5".

Если описатель формата "h" используется без других пользовательских описателей формата, он интерпретируется как стандартный описатель формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "h" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 6:9:1 P

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
        // Displays 6:9:1 μ

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 9:18:1.5 A

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
        // Displays 9:18:1.5 π
    }
in
    Source

К таблице

Настраиваемый описатель формата "hh"

Описатель настраиваемого формата hh (плюс любое число дополнительных описателей "h") представляет час в виде числа от 01 до 12; т. е. час представлен 12-часовым часам, который подсчитывает целые часы с полуночи или полудня. Час после полуночи неотличим от того же часа после полудня. Час не округляется, и однозначный час форматируется с начальным нулем. Например, для времени 5:43 утра или вечера этот описатель формата выведет "05".

В следующем примере настраиваемый описатель формата "hh" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
        // Displays 06:09:01 PM

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
        // Displays 06:09:01 du.

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
        // Displays 09:18:01.50 AM

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
        // Displays 09:18:01.50 de.
    }
in
    Source

К таблице

Описатель формата "H" для часов в верхнем регистре

Настраиваемый описатель формата "H"

Описатель пользовательского формата "H" представляет час в виде числа от 0 до 23; т. е. час представлен отсчитываемыми от нуля часами, которые подсчитывают часы с полуночи. Часы с одной цифрой форматируются без нуля в начале.

Если описатель формата "H" используется без других пользовательских описателей формата, он интерпретируется как стандартный описатель формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "H" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 6, 9, 1), [Format = "H:mm:ss", Culture = ""])
        // Displays 6:09:01
    }
in
    Source

К таблице

Настраиваемый описатель формата "HH"

Описатель настраиваемого формата HH (плюс любое количество дополнительных описателей "H") представляет час в виде числа от 00 до 23; т. е. час представлен отсчитываемыми от нуля часами, которые подсчитывают часы с полуночи. Часы с одной цифрой форматируются с нулем в начале.

В следующем примере настраиваемый описатель формата "HH" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 6, 9, 1), [Format = "HH:mm:ss", Culture = ""])
        // Displays 06:09:01
    }
in
    Source

К таблице

Описатель формата "K" для часового пояса

Настраиваемый описатель формата "K"

Настраиваемый описатель формата "K" представляет данные о часовом поясе значения даты и времени. Если этот описатель формата используется со значениями DateTimeZone , результирующая строка определяется следующим образом:

  • Для локального часового пояса этот описатель создает строку результата, содержащую локальное смещение от согласованного универсального времени (UTC), например "-07:00", если запрос выполняется в Power Query Desktop. Если запрос выполняется в Power Query Online, результирующий текст не создает смещения по времени UTC, то есть "+00:00".

  • В течение времени в формате UTC результирующий элемент не создает смещения из времени UTC; т. е. "+00:00 для представления даты UTC.

  • В течение некоторого времени от неопределенного часового пояса результат пуст.

Если описатель формата "K" используется без других пользовательских описателей формата, он интерпретируется как стандартный описатель формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере показана строка, которая приводит к использованию пользовательского описателя формата K с различными значениями в системе в часовом поясе США.

let
    Source =
    {
        DateTimeZone.ToText(DateTimeZone.LocalNow(),[Format="%K"]),
        // Displays -07:00 (Desktop) or +00:00 (Online)

        DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="%K"]),
        // Displays +00:00

        Text.Format("'#{0}'", {DateTime.ToText(DateTime.LocalNow(),[Format="%K"])})
        // Displays ''
    }
in
    Source

Примечание.

Значение, возвращаемое DateTimeZone.LocalNow, зависит от того, выполняется ли Power Query на локальном компьютере или в сети. Например, в приведенном выше примере в системе в часовом поясе США Power Query Desktop возвращается, так как он считывает -07:00 время на локальном компьютере. Однако Power Query Online возвращается, так как он считывает +00:00 время, заданное на облачных виртуальных машинах, которые имеют значение UTC.

К таблице

Описатель формата "m" для минут

Настраиваемый описатель формата "m"

Описатель пользовательского формата "m" представляет минуту в виде числа от 0 до 59. Это число целых минут, прошедших с последнего часа. Минуты с одной цифрой форматируются без нуля в начале.

Если описатель формата "m" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "m" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "m" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 6:9:1 P

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
        // Displays 6:9:1 μ

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 9:18:1.5 A

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
        // Displays 9:18:1.5 π
    }
in
    Source

К таблице

Настраиваемый описатель формата "mm"

Описатель настраиваемого формата mm (плюс любое количество дополнительных описателей m) представляет минуту как число от 00 до 59. Это число целых минут, прошедших с последнего часа. Минуты с одной цифрой форматируются с нулем в начале.

В следующем примере настраиваемый описатель формата "mm" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
        // Displays 06:09:01 PM

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
        // Displays 06:09:01 du.

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
        // Displays 09:18:01.50 AM

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
        // Displays 09:18:01.50 de.
    }
in
    Source

К таблице

Описатель формата "M" для месяца

Настраиваемый описатель формата "M"

Описатель пользовательского формата "M" представляет месяц как число от 1 до 12 (или от 1 до 13 для календарей, имеющих 13 месяцев). Месяц, номер которого представляет одну цифру, форматируется без нуля в начале.

Если описатель формата "M" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "M" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "M" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "en-US"]),
        // Displays (8) Aug, August

        Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "nl-NL"]),
        // Displays (8) aug, augustus

        Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "lv-LV"])
        // Displays (8) aug., augusts
    }
in
    Source

К таблице

Настраиваемый описатель формата "MM"

Описатель пользовательского формата MM представляет месяц в виде числа от 01 до 12 (или от 1 до 13 для календарей, имеющих 13 месяцев). Месяц, номер которого представляет одну цифру, форматируется с нулем в начале.

В следующем примере настраиваемый описатель формата "MM" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
        // Displays 02, 01
    }
in
    Source

К таблице

Настраиваемый описатель формата "MMM"

Настраиваемый описатель формата "MMM" представляет сокращенное название месяца. Локализованное сокращенное имя месяца извлекается из сокращенных имен месяцев текущего или указанного языка и региональных параметров. Если в строке пользовательского формата есть описатель пользовательского формата "d" или "dd", имя месяца извлекается из сокращенных имен генитивного типа.

В следующем примере настраиваемый описатель формата "MMM" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "en-US"]),
        // Displays Thu 29 Aug

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "fr-FR"])
        // Displays jeu. 29 août
    }
in
    Source

К таблице

Настраиваемый описатель формата "MMMM"

Настраиваемый описатель формата "MMMM" представляет полное название месяца. Локализованное имя месяца извлекается из текущего или указанного языка и региональных параметров. Если в строке пользовательского формата есть описатель пользовательского формата "d" или "dd", имя месяца извлекается из сокращенных имен генитивного типа.

В следующем примере настраиваемый описатель формата "MMMM" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "en-US"]),
        // Displays Thursday 29 August

        DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "it-IT"])
        // Displays giovedì 29 agosto
    }
in
    Source

К таблице

Описатель формата "s" для секунд

Настраиваемый описатель формата "s"

Описатель пользовательского формата "s" представляет секунды в виде числа от 0 до 59. Это число целых секунд, прошедших с последней полной минуты. Секунды с одной цифрой форматируются без нуля в начале.

Если описатель формата "s" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "s" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "s" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 6:9:1 P

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
        // Displays 6:9:1 μ

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 9:18:1.5 A

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
        // Displays 9:18:1.5 π
    }
in
    Source

К таблице

Настраиваемый описатель формата "ss"

Описатель пользовательского формата ss (плюс любое число дополнительных описателей "s") представляет секунды как число от 00 до 59. Это число целых секунд, прошедших с последней полной минуты. Секунды с одной цифрой форматируются с нулем в начале.

В следующем примере настраиваемый описатель формата "ss" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
        // Displays 06:09:01 PM

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
        // Displays 06:09:01 du.

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
        // Displays 09:18:01.50 AM

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
        // Displays 09:18:01.50 de.
    }
in
    Source

К таблице

Описатель формата "t" для части суток (до или после полудня)

Настраиваемый описатель формата "t"

Настраиваемый описатель формата "t" представляет первый символ указателя AM/PM (до полудня/после полудня). Соответствующий локализованный конструктор извлекается из текущего или определенного языка и региональных параметров. Указатель AM (до полудня) используется для всех значений времени от 0:00:00 (от полуночи) до 11:59:59.999. Указатель PM (после полудня) используется для всех значений времени от 12:00:00 (от полудня) до 23:59:59.999.

Если описатель формата "t" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "t" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "t" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 6:9:1 P

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
        // Displays 6:9:1 μ

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
        // Displays 9:18:1.5 A

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
        // Displays 9:18:1.5 π
    }
in
    Source

К таблице

Настраиваемый описатель формата "tt"

Настраиваемый описатель формата "tt" (плюс любое количество дополнительных описателей "t") представляет полный указатель AM/PM (до полудня/после полудня). Соответствующий локализованный конструктор извлекается из текущего или определенного языка и региональных параметров. Указатель AM (до полудня) используется для всех значений времени от 0:00:00 (от полуночи) до 11:59:59.999. Указатель PM (после полудня) используется для всех значений времени от 12:00:00 (от полудня) до 23:59:59.999.

Следует проверить, используется ли описатель "tt" для тех языков, в которых необходимо поддерживать различие между временем до полудня и после полудня. Например, японский язык, для которого AM и PM указатели различаются во втором символе вместо первого.

В следующем примере настраиваемый описатель формата "tt" используется в строке настраиваемого формата.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
        // Displays 06:09:01 PM

        DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
        // Displays 06:09:01 du.

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
        // Displays 09:18:01.50 AM

        DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
        // Displays 09:18:01.50 de.
    }
in
    Source

К таблице

Описатель формата "y" для года

Настраиваемый описатель формата "y"

Настраиваемый описатель формата "y" представляет год в виде одно- или двузначного числа. Если год имеет более двух цифр, то в результате отображаются только две младшие цифры. Если первая цифра двузначного года начинается с нуля (например, 2008), то число форматируется без нуля в начале.

Если описатель формата "y" используется без других настраиваемых описателей формата, то он интерпретируется как описатель "y" стандартного формата даты и времени. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере настраиваемый описатель формата "y" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(1, 12, 1), [Format = "%y"]),
        // Displays 1

        Date.ToText(#date(2024, 1, 1), [Format = "%y"])
        // Displays 24
    }
in
    Source

К таблице

Настраиваемый описатель формата "yy"

Настраиваемый описатель формата "yy" представляет год в виде двузначного числа. Если год имеет более двух цифр, то в результате отображаются только две младшие цифры. Если двузначное обозначение года имеет менее двух значащих цифр, то число дополняется нулями, стоящими в начале, до двух цифр.

В операции синтаксического анализа двухзначный год, который анализируется с помощью пользовательского описателя формата yy, интерпретируется на основе текущего календаря поставщика формата. В следующем примере анализируется строковое представление даты, год в которой представлен в виде двузначного числа, с использованием григорианского календаря языка и региональных параметров en-US, которые в данном случае являются текущими языком и региональными параметрами. Значения, возвращаемые для четырехзначной даты, зависят от диапазона 100 лет, заданного операционной системой.

let
    // Define the date format and value
    fmt = "dd-MMM-yy",

    // Convert year 49 to a 4-digit year
    firstDate = Text.Format("#{0}", { Date.FromText("24-Jan-49", [Format = fmt]) }),

    // Convert year 50 to a 4-digit year
    finalDate = Text.Format("#{0}", { Date.FromText("24-Jan-50", [Format = fmt]) }),
    Heading = "Default Two Digit Year Range: 1950 - 2049",
    result = {Heading, firstDate, finalDate}
in
    result

// The example displays the following output:
//       Default Two Digit Year Range: 1950 - 2049
//       1/24/2049
//       1/24/1950

В следующем примере настраиваемый описатель формата "yy" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(1, 12, 1), [Format = "yy"]),
        // Displays 01

        Date.ToText(#date(2024, 1, 1), [Format = "yy"])
        // Displays 24
    }
in
    Source

К таблице

Настраиваемый описатель формата "yyy"

Настраиваемый описатель формата "yyy" представляет год в виде как минимум трех цифр. Если в году больше трех значащих цифр, то они включаются в результат. Если значение года имеет меньше трех цифр, то число дополняется стоящими в начале нулями до трех цифр.

Примечание.

Для Тайского (буддистского) календаря, в котором годы могут состоять из пяти цифр, этот описатель формата отображает все значимые цифры.

В следующем примере настраиваемый описатель формата "yyy" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(1, 12, 1), [Format = "yyy"]),
        // Displays 001

        Date.ToText(#date(2024, 1, 1), [Format = "yyy"])
        // Displays 2024
    }
in
    Source

К таблице

Настраиваемый описатель формата "yyyy"

Описатель настраиваемого формата "yyyy" представляет год в виде как минимум четырех цифр. Если в году больше четырех значащих цифр, они включаются в результирующую строку. Если в году меньше четырех цифр, число дополняется предшествующими нулями до достижения четырех цифр.

Примечание.

Для Тайского (буддистского) календаря, в котором годы могут состоять из пяти цифр, этот описатель формата отображает минимум четыре цифры.

В следующем примере настраиваемый описатель формата "yyyy" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(1, 12, 1), [Format = "yyyy"]),
        // Displays 0001

        Date.ToText(#date(2024, 1, 1), [Format = "yyyy"])
        // Displays 2024
    }
in
    Source

К таблице

Настраиваемый описатель формата "yyyyy"

Описатель настраиваемого формата "yyyyy" (плюс любое число дополнительных описателей "y") представляет год в виде минимум пяти цифр. Если в году больше пяти значащих цифр, они включаются в результирующую строку. Если в году меньше пяти цифр, то число дополняется стоящими в начале нулями до пяти цифр.

Если имеются дополнительные описатели "y", то число дополняется нулями в начале до достижения указанного количества описателей "у".

В следующем примере настраиваемый описатель формата "yyyyy" используется в строке настраиваемого формата.

let
    Source =
    {
        Date.ToText(#date(1, 12, 1), [Format = "yyyyy"]),
        // Displays 00001

        Date.ToText(#date(2024, 1, 1), [Format = "yyyyy"])
        // Displays 02024
    }
in
    Source

К таблице

Описатель формата "z" для смещения

Настраиваемый описатель формата "z"

При использовании значений DateTimeZone настраиваемый описатель формата z представляет подписанное смещение указанного часового пояса из utc, измеряемого в часах. Смещение всегда отображается со знаком в начале. Плюс (+) указывает на то, что часы опережают время UTC, а минус (-) — на то, что они от него отстают. Смещение с одной цифрой отформатировано без начального нуля.

В следующей таблице показано, как изменяется значение смещения в зависимости от функции DateTimeZone .

Значение DateTimeZone Значение смещения
DateTimeZone.LocalNow В Power Query Desktop со знаком смещение часового пояса локальной операционной системы из UTC. В Power Query Online возвращается +00.
DateTimeZone.UtcNow Возвращает +0.

Если описатель формата "z" используется без других пользовательских описателей формата, он интерпретируется как описатель стандартного формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

В следующем примере содержится описатель пользовательского формата "z" в строке пользовательского формата в системе в часовом поясе США.

let
    Source = 
    {
        DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:%z}"]),
        // Displays {0:-7} on Power Query Desktop
        // Displays {0:+0} on Power Query Online

        DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:%z}"]),
        // Displays {0:+0}

        DateTimeZone.ToText(DateTimeZone.SwitchZone(
            #datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6), 
            [Format = "{0:%z}"]
        )
        // Displays {0:+6}
    }
in
    Source

Примечание.

Значение, возвращаемое DateTimeZone.LocalNow, зависит от того, выполняется ли Power Query на локальном компьютере или в сети. Например, в приведенном выше примере в системе в часовом поясе США Power Query Desktop возвращается, так как он считывает {0:-7} время на локальном компьютере. Однако Power Query Online возвращается, так как он считывает {0:+0} время, заданное на облачных виртуальных машинах, которые имеют значение UTC.

К таблице

Настраиваемый описатель формата "zz"

С значениями DateTimeZone настраиваемый описатель формата "zz" представляет подписанное смещение указанного часового пояса из UTC, измеряемого в часах. Смещение всегда отображается со знаком в начале. Плюс (+) указывает на то, что часы опережают время UTC, а минус (-) — на то, что они от него отстают. Смещение с одной цифрой отформатировано с начальным нулем.

В следующей таблице показано, как изменяется значение смещения в зависимости от функции DateTimeZone .

Значение DateTimeZone Значение смещения
DateTimeZone.LocalNow В Power Query Desktop со знаком смещение часового пояса локальной операционной системы из UTC. В Power Query Online возвращается +00.
DateTimeZone.UtcNow Возвращает +00.

В следующем примере содержится описатель пользовательского формата "zz" в строке пользовательского формата в системе в часовом поясе США.

let
    Source = 
    {
        DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:zz}"]),
        // Displays {0:-07} on Power Query Desktop
        // Displays {0:+00} on Power Query Online

        DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:zz}"]),
        // Displays {0:+00}

        DateTimeZone.ToText(DateTimeZone.SwitchZone(
            #datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6), 
            [Format = "{0:zz}"]
        )
        // Displays {0:+06}
    }
in
    Source

Примечание.

Значение, возвращаемое DateTimeZone.LocalNow, зависит от того, выполняется ли Power Query на локальном компьютере или в сети. Например, в приведенном выше примере в системе в часовом поясе США Power Query Desktop возвращается, так как он считывает {0:-07} время на локальном компьютере. Однако Power Query Online возвращается, так как он считывает {0:+00} время, заданное на облачных виртуальных машинах, которые имеют значение UTC.

К таблице

Настраиваемый описатель формата "zzz"

При использовании значений DateTimeZone настраиваемый описатель формата zzz представляет подписанное смещение указанного часового пояса из UTC, измеряемое в часах и минутах. Смещение всегда отображается со знаком в начале. Плюс (+) указывает на то, что часы опережают время UTC, а минус (-) — на то, что они от него отстают. Смещение с одной цифрой форматируется c нулем в начале.

В следующей таблице показано, как изменяется значение смещения в зависимости от функции DateTimeZone .

Значение DateTimeZoneValue Значение смещения
DateTimeZone.LocalNow В Power Query Desktop со знаком смещение часового пояса локальной операционной системы из UTC. В Power Query Online возвращается +00.
DateTimeZone.UtcNow Возвращает +00:00.

В следующем примере содержится описатель пользовательского формата zzz в строке пользовательского формата в системе в часовом поясе США.

let
    Source = 
    {
        DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:zzz}"]),
        // Displays {0:-07:00} on Power Query Desktop
        // Displays {0:+00:00} on Power Query Online

        DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:zzz}"]),
        // Displays {0:+00:00}

        DateTimeZone.ToText(DateTimeZone.SwitchZone(
            #datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6), 
            [Format = "{0:zzz}"]
        )
        // Displays {0:+06:00}
    }
in
    Source

Примечание.

Значение, возвращаемое DateTimeZone.LocalNow, зависит от того, выполняется ли Power Query на локальном компьютере или в сети. Например, в приведенном выше примере в системе в часовом поясе США Power Query Desktop возвращается, так как он считывает {0:-07:00} время на локальном компьютере. Однако Power Query Online возвращается, так как он считывает {0:+00:00} время, заданное на облачных виртуальных машинах, которые имеют значение UTC.

К таблице

Описатели разделителей даты и времени

Настраиваемый описатель формата ":"

Настраиваемый описатель формата ":" представляет разделитель компонентов времени, который используется для разделения часов, минут и секунд. Соответствующий локализованный разделитель времени извлекается из текущего или указанного языка и региональных параметров.

Примечание.

Чтобы изменить разделитель времени для определенной строки даты и времени, укажите знак разделителя в разделителе строк-литералов. Например, строка настраиваемого формата hh_dd_ss выдает результирующую строку, в которой "_" (подчеркивание) всегда используется в качестве разделителя времени.

Если описатель формата ":" используется без других пользовательских описателей формата, он интерпретируется как стандартный описатель формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

К таблице

Настраиваемый описатель формата "/"

Описатель настраиваемого формата "/" представляет разделитель компонентов даты, который используется для разделения года, месяца и дня. Соответствующий локализованный разделитель дат извлекается из текущего или указанного языка и региональных параметров.

Примечание.

Чтобы изменить разделитель даты для определенной строки даты и времени, укажите знак разделителя в разделителе строк-литералов. Например, строка настраиваемого формата mm/dd/yyyy выдает результирующую строку, в которой "/" всегда используется в качестве разделителя даты.

Если описатель формата "/" используется без других пользовательских описателей формата, он интерпретируется как стандартный описатель формата даты и времени и вызывает ошибку выражения. Дополнительные сведения об использовании одного описателя формата см . в разделе "Использование описателей единого пользовательского формата" далее в этой статье.

К таблице

Символьные литералы

Следующие символы в строке настраиваемого формата даты являются зарезервированными. Они всегда интерпретируются как символы форматирования, а символы ", ', / и \ интерпретируются как специальные символы.

  • F
  • H
  • K
  • M
  • d
  • f
  • g
  • h
  • m
  • s
  • t
  • y
  • z
  • %
  • :
  • /
  • "
  • '
  • \

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

В следующем примере литеральные символы "PST" (стандартное тихоокеанское время) и "PDT" (тихоокеанское летнее время) представляют в строке формата местный часовой пояс. Обратите внимание, что строка включена в результирующую строку и строка, которая включает строку местного часового пояса зоны местного времени, успешно проходит синтаксический анализ.

let
    #"Date Formats" = {"dd MMM yyyy hh:mm tt PST", "dd MMM yyyy hh:mm tt PDT"},
    Source = 
    {
        DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Formats"{1}]),
        try DateTime.ToText(DateTime.FromText(
            "25 Dec 2023 12:00 pm PST", [Format = #"Date Formats"{0}])) 
            otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm PST" & "'"
    }
in
    Source

// The example displays the following output text:
//       18 Aug 2024 04:50 PM PDT
//       12/25/2023 12:00:00 PM

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

  • Путем экранирования каждого зарезервированного символа. Дополнительные сведения см. в описании "Использование escape-последовательностей".

    В следующем примере литеральные символы "pst" (стандартное тихоокеанское время) представляют в строке формата местный часовой пояс. Поскольку "s" и "t" представляют собой строки настраиваемых форматов даты и времени, перед ними необходимо поставить знак обратной косой черты, чтобы интерпретировать их как символьные литералы.

    let
          #"Date Format" = "dd MMM yyyy hh:mm tt p's''t'",
          Source = 
          {
              DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Format"]),
              try DateTime.ToText(DateTime.FromText(
                  "25 Dec 2023 12:00 pm pst", [Format = #"Date Format"]))
                  otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm pst" & "'"
          }
    in
          Source
    
    // The example displays the following output text:
    //       18 Aug 2024 04:50 PM pst
    //       12/25/2016 12:00:00 PM
    
  • Заключив всю литеральную строку в апострофы. Следующий пример похож на предыдущий, за исключением того, что pst заключен в апострофы, чтобы указать, что всю строку с разделителями следует интерпретировать как символьные литералы.

    let
          #"Date Format" = "dd MMM yyyy hh:mm tt 'pst'",
          Source = 
          {
              DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Format"]),
              try DateTime.ToText(DateTime.FromText(
                  "25 Dec 2023 12:00 pm pst", [Format = #"Date Format"]))
                  otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm pst" & "'"
          }
    in
          Source
    
    // The example displays the following output text:
    //       18 Aug 2024 04:50 PM pst
    //       12/25/2016 12:00:00 PM
    

Примечания.

Использование единичных описателей настраиваемого формата

Строка настраиваемого формата даты и времени состоит из двух или более знаков. Методы форматирования даты и времени интерпретируют любую односимвольную строку как строку стандартного формата даты и времени. Если символ не распознается как допустимый описатель формата, они вызывают ошибку выражения. Например, строка формата, состоящая только из описателя "h", интерпретируется как строка стандартного формата даты и времени. Однако в этом случае создается исключение, так как отсутствует описатель стандартного формата даты и времени "h".

Чтобы использовать какой-либо настраиваемый описатель формата даты и времени в качестве единственного описателя в строке формата (т. е. использовать единственный настраиваемый описатель формата "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" или "/"), следует включить пробел до или после описателя или указать описатель формата "%" (процент) перед единственным настраиваемым описателем формата даты и времени.

Например, "%h" интерпретируется как строка настраиваемого формата даты и времени, которая отображает час, представленный текущим значением даты и времени. Можно также использовать строки формата " h" или "h ", хотя в этом случае в результирующей строке час будет указан с пробелом. В следующем примере демонстрируется использование этих трех строк формата.

let
    date = #datetime(2024, 6, 15, 13, 45, 0),
    Source =
    {
        Text.Format("'#{0}'", {DateTime.ToText(date, [Format = "%h"])}),
        Text.Format("'#{0}'", {DateTime.ToText(date, [Format = " h"])}),
        Text.Format("'#{0}'", {DateTime.ToText(date, [Format = "h "])})
    }
in
    Source

// The example displays a list with the following output text, 
//   with <sp> representing a space:
//       '1'
//       ' 1'
//       '1 ' 

Использование escape-последовательностей

Символы "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" и "/" в строке формата интерпретируются как настраиваемые описатели формата, а не как литералы.

Чтобы предотвратить интерпретацию символа как описателя формата, можно:

  • Предшествуйте ему обратную косую черту.
  • Окружите его одним кавычками.
  • Окружите его двумя двойными кавычками.

Каждый из этих символов выступает в качестве escape-последовательности. Escape-последовательность означает, что следующий символ или окруженный символ является текстовым литералом, который должен быть включен в результирующую строку без изменений.

Чтобы включить двойную кавычку в результируемую строку, ее необходимо экранировать с другой двойной кавычки ("").

В следующем примере используются различные escape-последовательности, чтобы предотвратить интерпретацию символов "h" и "m" в виде описателей формата.

let
    date = #datetime(2024, 6, 15, 13, 45, 30.90),
    format1 = "h \h m \m",
    format2 = "h ""h"" m ""m""",
    format3 = "h 'h' m 'm'",
    Source = 
    {
        Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format1, DateTime.ToText(date, format1)}),
        Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format2, DateTime.ToText(date, format2)}),
        Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format3, DateTime.ToText(date, format3)})
    }
in
    Source

// The example displays the following output text:
//       6/15/2024 1:45:30 PM (h \h m \m) -> 1 h 45 m
//       6/15/2024 1:45:30 PM (h "h" m "m") -> 1 h 45 m
//       6/15/2024 1:45:30 PM (h 'h' m 'm') -> 1 h 45 m