Числовые форматы используются в строках
со вставками и в функции format.
Форматы задаются по правилам функции printf языка С.
Числовой формат начинается со знака %
и завершается одной из ключевых букв d, i, b, o, u, x, X, f, e, E, g, G.
Между % и ключевой буквой могут быть указаны необязательные параметры:
%[flag][width]d или i | целое число со знаком |
%[flag][width]u | целое число без знака |
%[width]b | двоичное целое число без знака |
%[flag][width]o | восьмеричное целое число без знака |
%[flag][width]x | шестнадцатеричное целое без знака, используются прописные буквы a, b, c, d, e, f |
%[flag][width]X | шестнадцатеричное целое без знака, используются заглавные буквы A, B, C, D, E, F |
%[flag][width][.prec]e
%[flag][width][.prec]E |
вещественное в экспоненциальной форме: 1.2e4, 3.1E-4 |
%[flag][width][.prec]f | вещественное с плавающей точкой: 12000.0, 0.00031 |
%[flag][width][.prec]g
%[flag][width][.prec]G |
кратчайшая из двух форм: e и f |
Форматы дат и времени используются в строках со вставками и в функции format.
Форматы задаются по правилам функции strftime языка С. В отличие от числовых форматов любое количество форматов дат-времени можно объединить для вывода одного значения. Например, результатом выражения
"Today [now() %#d %B %Y, %A, %H:%M:%S]."будет строка вида
Today 4 February 2000, Monday, 15:04:55Необязательный аргумент [flag] может принимать только одно значение #. Для форматов %#c и %#x он выводит дату в более подробной форме. Для остальных форматов — удаляет лидирующие нули (4 вместо 04).
%[flag]c | стандартное представление даты и времени |
%[flag]x | стандартное представление даты |
%X | стандартное представление времени |
%[flag]Y | четырёхзначный год (от 1970) |
%[flag]y | последние две цифры года (от 00 до 99) |
%B | полное название месяца |
%b | сокращённое название месяца |
%[flag]m | номер месяца (от 01 до 12) |
%[flag]d | день месяца (от 01 до 31) |
%[flag]H | часы (от 00 до 24) |
%[flag]I | часы (от 00 до 12) |
%p | индикатор до полудня / после полудня |
%[flag]M | минуты (от 00 до 59) |
%[flag]S | секунды (от 00 до 59) |
%a | сокращённое название дня недели |
%A | полное название дня недели |
%[flag]w | порядковый номер дня недели (0=воскресенье, 1=понедельник, ..., 6=суббота.) |
%[flag]j | порядковый номер дня в году (от 001 до 366) |
%[flag]U | порядковый номер недели в году (от 00 до 51) если неделя начинается с воскресенья |
%[flag]W | порядковый номер недели в году (от 00 до 51) если неделя начинается с понедельника |
%z
%Z |
полное и сокращённое название часового пояса |
Форматы даты-времени b, d, x, X конфликтуют с одноимёнными числовыми форматами. Если одна из этих букв оказалась последней в формате даты-времени, то после неё следует поставить букву T:
"Today [now() %#xT]."