Merge branch '2969-date-time-format-docs' into 'main'

gdatetime: Improve Markdown formatting of g_date_time_format() docs

Closes #2969

See merge request GNOME/glib!3362
This commit is contained in:
Emmanuele Bassi 2023-04-13 21:32:57 +00:00
commit 28209912ef

View File

@ -3340,103 +3340,103 @@ g_date_time_format_utf8 (GDateTime *datetime,
* Creates a newly allocated string representing the requested @format. * Creates a newly allocated string representing the requested @format.
* *
* The format strings understood by this function are a subset of the * The format strings understood by this function are a subset of the
* strftime() format language as specified by C99. The \%D, \%U and \%W * `strftime()` format language as specified by C99. The `%D`, `%U` and `%W`
* conversions are not supported, nor is the 'E' modifier. The GNU * conversions are not supported, nor is the `E` modifier. The GNU
* extensions \%k, \%l, \%s and \%P are supported, however, as are the * extensions `%k`, `%l`, `%s` and `%P` are supported, however, as are the
* '0', '_' and '-' modifiers. The Python extension \%f is also supported. * `0`, `_` and `-` modifiers. The Python extension `%f` is also supported.
* *
* In contrast to strftime(), this function always produces a UTF-8 * In contrast to `strftime()`, this function always produces a UTF-8
* string, regardless of the current locale. Note that the rendering of * string, regardless of the current locale. Note that the rendering of
* many formats is locale-dependent and may not match the strftime() * many formats is locale-dependent and may not match the `strftime()`
* output exactly. * output exactly.
* *
* The following format specifiers are supported: * The following format specifiers are supported:
* *
* - \%a: the abbreviated weekday name according to the current locale * - `%a`: the abbreviated weekday name according to the current locale
* - \%A: the full weekday name according to the current locale * - `%A`: the full weekday name according to the current locale
* - \%b: the abbreviated month name according to the current locale * - `%b`: the abbreviated month name according to the current locale
* - \%B: the full month name according to the current locale * - `%B`: the full month name according to the current locale
* - \%c: the preferred date and time representation for the current locale * - `%c`: the preferred date and time representation for the current locale
* - \%C: the century number (year/100) as a 2-digit integer (00-99) * - `%C`: the century number (year/100) as a 2-digit integer (00-99)
* - \%d: the day of the month as a decimal number (range 01 to 31) * - `%d`: the day of the month as a decimal number (range 01 to 31)
* - \%e: the day of the month as a decimal number (range 1 to 31); * - `%e`: the day of the month as a decimal number (range 1 to 31);
* single digits are preceded by a figure space * single digits are preceded by a figure space (U+2007)
* - \%F: equivalent to `%Y-%m-%d` (the ISO 8601 date format) * - `%F`: equivalent to `%Y-%m-%d` (the ISO 8601 date format)
* - \%g: the last two digits of the ISO 8601 week-based year as a * - `%g`: the last two digits of the ISO 8601 week-based year as a
* decimal number (00-99). This works well with \%V and \%u. * decimal number (00-99). This works well with `%V` and `%u`.
* - \%G: the ISO 8601 week-based year as a decimal number. This works * - `%G`: the ISO 8601 week-based year as a decimal number. This works
* well with \%V and \%u. * well with `%V` and `%u`.
* - \%h: equivalent to \%b * - `%h`: equivalent to `%b`
* - \%H: the hour as a decimal number using a 24-hour clock (range 00 to 23) * - `%H`: the hour as a decimal number using a 24-hour clock (range 00 to 23)
* - \%I: the hour as a decimal number using a 12-hour clock (range 01 to 12) * - `%I`: the hour as a decimal number using a 12-hour clock (range 01 to 12)
* - \%j: the day of the year as a decimal number (range 001 to 366) * - `%j`: the day of the year as a decimal number (range 001 to 366)
* - \%k: the hour (24-hour clock) as a decimal number (range 0 to 23); * - `%k`: the hour (24-hour clock) as a decimal number (range 0 to 23);
* single digits are preceded by a figure space * single digits are preceded by a figure space (U+2007)
* - \%l: the hour (12-hour clock) as a decimal number (range 1 to 12); * - `%l`: the hour (12-hour clock) as a decimal number (range 1 to 12);
* single digits are preceded by a figure space * single digits are preceded by a figure space (U+2007)
* - \%m: the month as a decimal number (range 01 to 12) * - `%m`: the month as a decimal number (range 01 to 12)
* - \%M: the minute as a decimal number (range 00 to 59) * - `%M`: the minute as a decimal number (range 00 to 59)
* - \%f: the microsecond as a decimal number (range 000000 to 999999) * - `%f`: the microsecond as a decimal number (range 000000 to 999999)
* - \%p: either "AM" or "PM" according to the given time value, or the * - `%p`: either AM or PM according to the given time value, or the
* corresponding strings for the current locale. Noon is treated as * corresponding strings for the current locale. Noon is treated as
* "PM" and midnight as "AM". Use of this format specifier is discouraged, as * PM and midnight as AM. Use of this format specifier is discouraged, as
* many locales have no concept of AM/PM formatting. Use \%c or \%X instead. * many locales have no concept of AM/PM formatting. Use `%c` or `%X` instead.
* - \%P: like \%p but lowercase: "am" or "pm" or a corresponding string for * - `%P`: like `%p` but lowercase: am or pm or a corresponding string for
* the current locale. Use of this format specifier is discouraged, as * the current locale. Use of this format specifier is discouraged, as
* many locales have no concept of AM/PM formatting. Use \%c or \%X instead. * many locales have no concept of AM/PM formatting. Use `%c` or `%X` instead.
* - \%r: the time in a.m. or p.m. notation. Use of this format specifier is * - `%r`: the time in a.m. or p.m. notation. Use of this format specifier is
* discouraged, as many locales have no concept of AM/PM formatting. Use \%c * discouraged, as many locales have no concept of AM/PM formatting. Use `%c`
* or \%X instead. * or `%X` instead.
* - \%R: the time in 24-hour notation (\%H:\%M) * - `%R`: the time in 24-hour notation (`%H:%M`)
* - \%s: the number of seconds since the Epoch, that is, since 1970-01-01 * - `%s`: the number of seconds since the Epoch, that is, since 1970-01-01
* 00:00:00 UTC * 00:00:00 UTC
* - \%S: the second as a decimal number (range 00 to 60) * - `%S`: the second as a decimal number (range 00 to 60)
* - \%t: a tab character * - `%t`: a tab character
* - \%T: the time in 24-hour notation with seconds (\%H:\%M:\%S) * - `%T`: the time in 24-hour notation with seconds (`%H:%M:%S`)
* - \%u: the ISO 8601 standard day of the week as a decimal, range 1 to 7, * - `%u`: the ISO 8601 standard day of the week as a decimal, range 1 to 7,
* Monday being 1. This works well with \%G and \%V. * Monday being 1. This works well with `%G` and `%V`.
* - \%V: the ISO 8601 standard week number of the current year as a decimal * - `%V`: the ISO 8601 standard week number of the current year as a decimal
* number, range 01 to 53, where week 1 is the first week that has at * number, range 01 to 53, where week 1 is the first week that has at
* least 4 days in the new year. See g_date_time_get_week_of_year(). * least 4 days in the new year. See g_date_time_get_week_of_year().
* This works well with \%G and \%u. * This works well with `%G` and `%u`.
* - \%w: the day of the week as a decimal, range 0 to 6, Sunday being 0. * - `%w`: the day of the week as a decimal, range 0 to 6, Sunday being 0.
* This is not the ISO 8601 standard format -- use \%u instead. * This is not the ISO 8601 standard format use `%u` instead.
* - \%x: the preferred date representation for the current locale without * - `%x`: the preferred date representation for the current locale without
* the time * the time
* - \%X: the preferred time representation for the current locale without * - `%X`: the preferred time representation for the current locale without
* the date * the date
* - \%y: the year as a decimal number without the century * - `%y`: the year as a decimal number without the century
* - \%Y: the year as a decimal number including the century * - `%Y`: the year as a decimal number including the century
* - \%z: the time zone as an offset from UTC (+hhmm) * - `%z`: the time zone as an offset from UTC (`+hhmm`)
* - \%:z: the time zone as an offset from UTC (+hh:mm). * - `%:z`: the time zone as an offset from UTC (`+hh:mm`).
* This is a gnulib strftime() extension. Since: 2.38 * This is a gnulib `strftime()` extension. Since: 2.38
* - \%::z: the time zone as an offset from UTC (+hh:mm:ss). This is a * - `%::z`: the time zone as an offset from UTC (`+hh:mm:ss`). This is a
* gnulib strftime() extension. Since: 2.38 * gnulib `strftime()` extension. Since: 2.38
* - \%:::z: the time zone as an offset from UTC, with : to necessary * - `%:::z`: the time zone as an offset from UTC, with `:` to necessary
* precision (e.g., -04, +05:30). This is a gnulib strftime() extension. Since: 2.38 * precision (e.g., `-04`, `+05:30`). This is a gnulib `strftime()` extension. Since: 2.38
* - \%Z: the time zone or name or abbreviation * - `%Z`: the time zone or name or abbreviation
* - \%\%: a literal \% character * - `%%`: a literal `%` character
* *
* Some conversion specifications can be modified by preceding the * Some conversion specifications can be modified by preceding the
* conversion specifier by one or more modifier characters. The * conversion specifier by one or more modifier characters. The
* following modifiers are supported for many of the numeric * following modifiers are supported for many of the numeric
* conversions: * conversions:
* *
* - O: Use alternative numeric symbols, if the current locale supports those. * - `O`: Use alternative numeric symbols, if the current locale supports those.
* - _: Pad a numeric result with spaces. This overrides the default padding * - `_`: Pad a numeric result with spaces. This overrides the default padding
* for the specifier. * for the specifier.
* - -: Do not pad a numeric result. This overrides the default padding * - `-`: Do not pad a numeric result. This overrides the default padding
* for the specifier. * for the specifier.
* - 0: Pad a numeric result with zeros. This overrides the default padding * - `0`: Pad a numeric result with zeros. This overrides the default padding
* for the specifier. * for the specifier.
* *
* Additionally, when O is used with B, b, or h, it produces the alternative * Additionally, when `O` is used with `B`, `b`, or `h`, it produces the alternative
* form of a month name. The alternative form should be used when the month * form of a month name. The alternative form should be used when the month
* name is used without a day number (e.g., standalone). It is required in * name is used without a day number (e.g., standalone). It is required in
* some languages (Baltic, Slavic, Greek, and more) due to their grammatical * some languages (Baltic, Slavic, Greek, and more) due to their grammatical
* rules. For other languages there is no difference. \%OB is a GNU and BSD * rules. For other languages there is no difference. `%OB` is a GNU and BSD
* strftime() extension expected to be added to the future POSIX specification, * `strftime()` extension expected to be added to the future POSIX specification,
* \%Ob and \%Oh are GNU strftime() extensions. Since: 2.56 * `%Ob` and `%Oh` are GNU `strftime()` extensions. Since: 2.56
* *
* Returns: (transfer full) (nullable): a newly allocated string formatted to * Returns: (transfer full) (nullable): a newly allocated string formatted to
* the requested format or %NULL in the case that there was an error (such * the requested format or %NULL in the case that there was an error (such