Data.Time.Format
| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Содержание
Форматирование в стиле UNIX
type NumericPadOption = Maybe Char Source
class FormatTime t where Source
Методы
formatCharacter :: Char -> Maybe (TimeLocale -> Maybe NumericPadOption -> t -> String) Source
Экземпляры
formatTime :: FormatTime t => TimeLocale -> String -> t -> String Source
Замените различную информацию, связанную со временем, для каждого %-кода в строке, согласно formatCharacter.
Для всех типов (обратите внимание, что эти три делаются здесь, а не formatCharacter):
%%%%t- tab
%n- новая строка
Модификаторы в стиле glibc могут использоваться перед буквой (здесь обозначены как z):
%-z- без заполнения
%_z- заполнение пробелами
%0z- заполнение нулями
%^z- преобразование в верхний регистр
%#z- преобразование в нижний регистр (последовательно, в отличие от glibc)
Для TimeZone (и ZonedTime и UTCTime):
%z- смещение часового пояса в формате
-HHMM. %Z- имя часового пояса
Для LocalTime (и ZonedTime и UTCTime):
%c- как
dateTimeFmtlocale(например,%a %b %e %H:%M:%S %Z %Y)
Для TimeOfDay (и LocalTime и ZonedTime и UTCTime):
%R- то же, что и
%H:%M %T- то же, что и
%H:%M:%S %X- как
timeFmtlocale(например,%H:%M:%S) %r- как
time12Fmtlocale(например,%I:%M:%S %p) %P- половина дня от (
amPmlocale), преобразовано в нижний регистр,am,pm %p- половина дня от (
amPmlocale),AM,PM %H- час дня (24-часовой), с заполнением нулями до двух символов,
00-23 %k- час дня (24-часовой), с заполнением пробелами до двух символов,
0-23 %I- половина дня (12-часовой), с заполнением нулями до двух символов,
01-12 %l- половина дня (12-часовой), с заполнением пробелами до двух символов,
1-12 %M- минута часа, с заполнением нулями до двух символов,
00-59 %S- секунда минуты (без дробной части), с заполнением нулями до двух символов,
00-60 %q- пикосекунда секунды, с заполнением нулями до двенадцати символов,
000000000000-999999999999. %Q- десятичная точка и дробная часть секунды, до 12 десятичных знаков секунды, без завершающих нулей. Для целого числа секунд,
%Qвыдает пустую строку.
%s- количество целых секунд с начала эпохи Unix. Для времени до начала эпохи Unix это отрицательное число. Обратите внимание, что в
%s.%qи%s%Qдесятичные дроби положительные, а не отрицательные. Например, 0,9 секунды до начала эпохи Unix форматируются как-1.1с%s%Q.
Для Day (и LocalTime и ZonedTime и UTCTime):
%D- то же, что и
%m/%d/%y %F- то же, что и
%Y-%m-%d %x- как
dateFmtlocale(например,%m/%d/%y) %Y- год, без заполнения. Обратите внимание, что
%0yи%_yзаполняют до четырех символов %y- год столетия, с заполнением нулями до двух символов,
00-99 %C- столетие, без заполнения. Обратите внимание, что
%0Cи%_Cзаполняют до двух символов %B- название месяца, полная форма (
fstотmonthslocale),January-December -
%b,%h - название месяца, короткая форма (
sndотmonthslocale),Jan-Dec %m- месяц года, с заполнением нулями до двух символов,
01-12 %d- день месяца, с заполнением нулями до двух символов,
01-31 %e- день месяца, с заполнением пробелами до двух символов,
1-31 %j- день года, с заполнением нулями до трех символов,
001-366 %G- год для формата даты недели, без заполнения. Обратите внимание, что
%0Gи%_Gзаполняют до четырех символов %g- год столетия для формата даты недели, с заполнением нулями до двух символов,
00-99 %f- столетие для формата даты недели, без заполнения. Обратите внимание, что
%0fи%_fзаполняют до двух символов %V- неделя года для формата даты недели, с заполнением нулями до двух символов,
01-53 %u- день недели для формата даты недели,
1-7 %a- день недели, короткая форма (
sndотwDayslocale),Sun-Sat %A- день недели, полная форма (
fstотwDayslocale),Sunday-Saturday %U- неделя года, где недели начинаются с воскресенья (как
sundayStartWeek), с заполнением нулями до двух символов,00-53 %w- номер дня недели,
0(= воскресенье) -6(= суббота) %W- неделя года, где недели начинаются с понедельника (как
mondayStartWeek), с заполнением нулями до двух символов,00-53
Разбор в стиле UNIX
Аргументы
| :: (Monad m, ParseTime t) | |
| => Bool | Разрешить ведущие и завершающие пробелы? |
| -> TimeLocale | Временная локализация. |
| -> String | Строка формата. |
| -> String | Входная строка. |
| -> m t | Возвращает значение времени или ошибку, если входные данные не могут быть распарсены с использованием заданного формата. |
Разбирает значение времени, заданное строкой формата. Поддерживает те же %-коды, что и formatTime, включая %-, %_ и %0 модификаторы. Регистр не имеет значения. Некоторые вариации во входных данных принимаются:
%z- принимает любой из
-HHMMили-HH:MM. %Z- принимает любую строку букв или любой из форматов, принимаемых
%z. %0Y- принимает ровно четыре цифры.
%0G- принимает ровно четыре цифры.
%0C- принимает ровно две цифры.
%0f- принимает ровно две цифры.
Аргументы
| :: ParseTime t | |
| => Bool | Разрешить ведущие и завершающие пробелы? |
| -> TimeLocale | Временная локализация. |
| -> String | Строка формата. |
| -> String | Входная строка. |
| -> t | Значение времени. |
Разбирает значение времени, заданное строкой формата. Возвращает ошибку, если входные данные не могут быть распарсены с использованием заданного формата. См. parseTimeM для подробностей.
Аргументы
| :: ParseTime t | |
| => Bool | Разрешить ведущие пробелы? |
| -> TimeLocale | Временная локализация. |
| -> String | Строка формата |
| -> ReadS t |
Разбирает значение времени, заданное строкой формата. См. parseTimeM для подробностей.
Аргументы
| :: ParseTime t | |
| => Bool | Разрешить ведущие пробелы? |
| -> TimeLocale | Временная локализация. |
| -> String | Строка формата |
| -> ReadP t |
Разбирает значение времени, заданное строкой формата. См. parseTimeM для подробностей.
Аргументы
| :: ParseTime t | |
| => TimeLocale | Временная локализация. |
| -> String | Строка формата. |
| -> String | Входная строка. |
| -> Maybe t | Значение времени, или |
Устарело: используйте "parseTimeM True" вместо этого
Аргументы
| :: ParseTime t | |
| => TimeLocale | Временная локализация. |
| -> String | Строка формата. |
| -> String | Входная строка. |
| -> t | Значение времени. |
Устарело: используйте "parseTimeOrError True" вместо этого
Аргументы
| :: ParseTime t | |
| => TimeLocale | Временная локализация. |
| -> String | Строка формата |
| -> ReadS t |
Устарело: используйте "readSTime True" вместо этого
class ParseTime t where Source
Класс типов, которые могут быть распарсены, учитывая строку формата времени в стиле UNIX.
Методы
Аргументы
| :: TimeLocale | Временная локализация. |
| -> [(Char, String)] | Пары символов формата и соответствующей части входных данных. |
| -> t |
Создает значение времени из разобранной входной строки. Если входные данные не содержат всей информации, необходимой для построения полного значения, все отсутствующие части должны быть взяты из 1970-01-01 00:00:00 +0000 (это был четверг). При отсутствии %C или %Y, век равен 1969 - 2068.
Экземпляры
Локализация
data TimeLocale Source
Конструкторы
| TimeLocale | |
Поля
| |
Примеры
defaultTimeLocale :: TimeLocale Source
Локаль, представляющая американские правила.
knownTimeZones содержит только десять часовых поясов, упомянутых в RFC 822 разд. 5: "UT", "GMT", "EST", "EDT", "CST", "CDT", "MST", "MDT", "PST", "PDT". Обратите внимание, что функции парсинга также будут обрабатывать однобуквенные военные часовые пояса и формат +HHMM.
iso8601DateFormat :: Maybe String -> String Source
Строка формата в соответствии с ISO-8601.
Аргумент Maybe String позволяет указать необязательную спецификацию времени. Например:
iso8601DateFormatNothing == "%Y-%m-%d" -- i.e.YYYY-MM-DDiso8601DateFormat(Just "%H:%M:%S") == "%Y-%m-%dT%H:%M:%S" -- i.e.YYYY-MM-DDTHH:MM:SS
rfc822DateFormat :: String Source
Строка формата в соответствии с RFC822.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/time-1.5.0.1/Data-Time-Format.html