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 JULIAN_YEAR(d) ((d)->julian / 365.25)
|
||||||
#define DAYS_PER_PERIOD (G_GINT64_CONSTANT (2914695))
|
#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 */ \
|
/* Translators: 'before midday' indicator */ \
|
||||||
? (l ? C_("GDateTime", "am") \
|
? C_("GDateTime", "am") \
|
||||||
/* Translators: 'before midday' indicator */ \
|
|
||||||
: C_("GDateTime", "AM")) \
|
|
||||||
/* Translators: 'after midday' indicator */ \
|
/* Translators: 'after midday' indicator */ \
|
||||||
: (l ? C_("GDateTime", "pm") \
|
: C_("GDateTime", "pm"))
|
||||||
/* Translators: 'after midday' indicator */ \
|
|
||||||
: C_("GDateTime", "PM")))
|
|
||||||
|
|
||||||
#define WEEKDAY_ABBR(d) (get_weekday_name_abbr (g_date_time_get_day_of_week (datetime)))
|
#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)))
|
#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;
|
gboolean pad_set = FALSE;
|
||||||
gchar pad = '\0';
|
gchar pad = '\0';
|
||||||
gchar fmt[20];
|
gchar fmt[20];
|
||||||
|
gchar *ampm;
|
||||||
|
|
||||||
g_return_val_if_fail (datetime != NULL, NULL);
|
g_return_val_if_fail (datetime != NULL, NULL);
|
||||||
g_return_val_if_fail (format != NULL, NULL);
|
g_return_val_if_fail (format != NULL, NULL);
|
||||||
@ -2431,21 +2428,27 @@ g_date_time_format (GDateTime *datetime,
|
|||||||
alt_digits = TRUE;
|
alt_digits = TRUE;
|
||||||
goto next_mod;
|
goto next_mod;
|
||||||
case 'p':
|
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;
|
break;
|
||||||
case 'P':
|
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;
|
break;
|
||||||
case 'r':
|
case 'r':
|
||||||
{
|
{
|
||||||
gint hour = g_date_time_get_hour (datetime) % 12;
|
gint hour = g_date_time_get_hour (datetime) % 12;
|
||||||
if (hour == 0)
|
if (hour == 0)
|
||||||
hour = 12;
|
hour = 12;
|
||||||
|
ampm = g_utf8_strup (GET_AMPM (datetime), -1);
|
||||||
g_string_append_printf (outstr, "%02d:%02d:%02d %s",
|
g_string_append_printf (outstr, "%02d:%02d:%02d %s",
|
||||||
hour,
|
hour,
|
||||||
g_date_time_get_minute (datetime),
|
g_date_time_get_minute (datetime),
|
||||||
g_date_time_get_second (datetime),
|
g_date_time_get_second (datetime),
|
||||||
GET_AMPM (datetime, FALSE));
|
ampm);
|
||||||
|
g_free (ampm);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user