mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-24 19:22:11 +01:00
GDateTime: don't use separate strings for upper/lowercase am/pm
We can just as well change the case ourselves.
This commit is contained in:
parent
414c8ce532
commit
2282036b5d
@ -145,15 +145,11 @@ struct _GDateTime
|
||||
#define JULIAN_YEAR(d) ((d)->julian / 365.25)
|
||||
#define DAYS_PER_PERIOD (G_GINT64_CONSTANT (2914695))
|
||||
|
||||
#define GET_AMPM(d,l) ((g_date_time_get_hour (d) < 12) \
|
||||
#define GET_AMPM(d) ((g_date_time_get_hour (d) < 12) \
|
||||
/* Translators: 'before midday' indicator */ \
|
||||
? (l ? C_("GDateTime", "am") \
|
||||
/* Translators: 'before midday' indicator */ \
|
||||
: C_("GDateTime", "AM")) \
|
||||
? C_("GDateTime", "am") \
|
||||
/* Translators: 'after midday' indicator */ \
|
||||
: (l ? C_("GDateTime", "pm") \
|
||||
/* Translators: 'after midday' indicator */ \
|
||||
: C_("GDateTime", "PM")))
|
||||
: C_("GDateTime", "pm"))
|
||||
|
||||
#define WEEKDAY_ABBR(d) (get_weekday_name_abbr (g_date_time_get_day_of_week (datetime)))
|
||||
#define WEEKDAY_FULL(d) (get_weekday_name (g_date_time_get_day_of_week (datetime)))
|
||||
@ -2329,6 +2325,7 @@ g_date_time_format (GDateTime *datetime,
|
||||
gboolean pad_set = FALSE;
|
||||
gchar pad = '\0';
|
||||
gchar fmt[20];
|
||||
gchar *ampm;
|
||||
|
||||
g_return_val_if_fail (datetime != NULL, NULL);
|
||||
g_return_val_if_fail (format != NULL, NULL);
|
||||
@ -2431,21 +2428,27 @@ g_date_time_format (GDateTime *datetime,
|
||||
alt_digits = TRUE;
|
||||
goto next_mod;
|
||||
case 'p':
|
||||
g_string_append (outstr, GET_AMPM (datetime, FALSE));
|
||||
ampm = g_utf8_strup (GET_AMPM (datetime), -1);
|
||||
g_string_append (outstr, ampm);
|
||||
g_free (ampm);
|
||||
break;
|
||||
case 'P':
|
||||
g_string_append (outstr, GET_AMPM (datetime, TRUE));
|
||||
ampm = g_utf8_strdown (GET_AMPM (datetime), -1);
|
||||
g_string_append (outstr, ampm);
|
||||
g_free (ampm);
|
||||
break;
|
||||
case 'r':
|
||||
{
|
||||
gint hour = g_date_time_get_hour (datetime) % 12;
|
||||
if (hour == 0)
|
||||
hour = 12;
|
||||
ampm = g_utf8_strup (GET_AMPM (datetime), -1);
|
||||
g_string_append_printf (outstr, "%02d:%02d:%02d %s",
|
||||
hour,
|
||||
g_date_time_get_minute (datetime),
|
||||
g_date_time_get_second (datetime),
|
||||
GET_AMPM (datetime, FALSE));
|
||||
ampm);
|
||||
g_free (ampm);
|
||||
}
|
||||
break;
|
||||
case 'R':
|
||||
|
Loading…
x
Reference in New Issue
Block a user