[glib] g_date_time_format: support %c



commit 6f80dc60429e7310300a5df75a03a093c3fd4767
Author: Javier JardÃn <jjardon gnome org>
Date:   Fri Sep 2 16:32:21 2011 +0100

    g_date_time_format: support %c
    
    %c represents the preferred  date  and  time  representation  for the
    current locale.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=658061

 glib/gdatetime.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
---
diff --git a/glib/gdatetime.c b/glib/gdatetime.c
index 024070d..75f8338 100644
--- a/glib/gdatetime.c
+++ b/glib/gdatetime.c
@@ -172,6 +172,7 @@ static const guint16 days_in_year[2][13] =
                      nl_langinfo (AM_STR) : \
                      nl_langinfo (PM_STR))
 
+#define PREFERRED_DATE_TIME_FMT nl_langinfo (D_T_FMT)
 #define PREFERRED_DATE_FMT nl_langinfo (D_FMT)
 #define PREFERRED_TIME_FMT nl_langinfo (T_FMT)
 
@@ -200,6 +201,9 @@ static const gint month_item[2][12] =
                                   /* Translators: 'after midday' indicator */ \
                                 : C_("GDateTime", "pm"))
 
+/* Translators: this is the preferred format for expressing the date and the time */
+#define PREFERRED_DATE_TIME_FMT C_("GDateTime", "%a %b %e %H:%M:%S %Y")
+
 /* Translators: this is the preferred format for expressing the date */
 #define PREFERRED_DATE_FMT C_("GDateTime", "%m/%d/%y")
 
@@ -2148,6 +2152,11 @@ get_numeric_format (gchar    *fmt,
  *    the full month name according to the current locale
  *  </simpara></listitem></varlistentry>
  *  <varlistentry><term>
+ *    <literal>%%c</literal>:
+ *   </term><listitem><simpara>
+ *    the  preferred  date  and  time  representation  for the current locale
+ *  </simpara></listitem></varlistentry>
+ *  <varlistentry><term>
  *    <literal>%%d</literal>:
  *   </term><listitem><simpara>
  *    the day of the month as a decimal number (range 01 to 31)
@@ -2406,6 +2415,13 @@ g_date_time_format (GDateTime   *datetime,
                 case 'B':
                   g_string_append (outstr, MONTH_FULL (datetime));
                   break;
+                case 'c':
+                  {
+                    tmp = g_date_time_format (datetime, PREFERRED_DATE_TIME_FMT);
+                    g_string_append (outstr, tmp);
+                    g_free (tmp);
+                  }
+                  break;
                 case 'd':
                   get_numeric_format (fmt, sizeof(fmt), alt_digits, pad_set ? pad : '0', 2);
                   g_string_append_printf (outstr, fmt, g_date_time_get_day_of_month (datetime));



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]