format
        
        Description:
        public string format (
string format)
        
 
        
          Creates a newly allocated string representing the requested format.
          The format strings understood by this function are a subset of the strftime format 
            language as specified by C99. The %D, %U and %W conversions are not supported, nor is the 'E' modifier. The GNU extensions %k, %l, %s and 
            %P are supported, however, as are the '0', '_' and '-' modifiers.
          In contrast to strftime, this function always produces a UTF-8 string, regardless of
             the current locale. Note that the rendering of many formats is locale-dependent and may not match the 
            strftime output exactly.
          The following format specifiers are supported:
          
            - %a: the abbreviated 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 full month name according to the current locale
- %c: the preferred date and time rpresentation for the current locale
- %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)
- %e: the day of the month as a decimal number (range 1 to 31)
- %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  decimal number (00-99). This works well with %V and %u.
- %G: the ISO 8601 week-based year as a decimal number. This works  well with %V and %u.
- %h: equivalent to %b
- %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)
- %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);  single digits are preceded by a blank
- %l: the hour (12-hour clock) as a decimal number (range 1 to 12);  single digits are preceded by a blank
- %m: the month as a decimal number (range 01 to 12)
- %M: the minute as a decimal number (range 00 to 59)
- %p: either "AM" or "PM" according to the given time value, or the  corresponding strings for the current locale. Noon is treated as  
              "PM" and midnight as "AM".
- %P: like %p but lowercase: "am" or "pm" or a corresponding string for  the current locale
- %r: the time in a.m. or p.m. notation
- %R: the time in 24-hour notation (%H:%M)
- %s: the number of seconds since the Epoch, that is, since 1970-01-01  00:00:00 UTC
- %S: the second as a decimal number (range 00 to 60)
- %t: a tab character
- %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,  Monday being 1. This works well with %G and %V.
- %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  least 4 days in the new year. See get_week_of_year.  This works
               well with %G and %u.
- %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.
- %x: the preferred date representation for the current locale without  the time
- %X: the preferred time representation for the current locale without  the date
- %y: the year as a decimal number without the century
- %Y: the year as a decimal number including the century
- %z: the time zone as an offset from UTC (+hhmm)
- %GDateTime:z: the time zone as an offset from UTC (+hh:mm).  This is a gnulib 
              strftime extension. Since: 2.38
- %GDateTime::z: the time zone as an offset from UTC (+hh:mm:ss). This is a  gnulib 
              strftime extension. Since: 2.38
- %:GDateTime::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
- %Z: the time zone or name or abbreviation
- %%: a literal % character
Some conversion specifications can be modified by preceding the conversion specifier by one or more modifier characters. The following 
            modifiers are supported for many of the numeric conversions:
          
            - O: Use alternative numeric symbols, if the current locale supports those.
- _: Pad a numeric result with spaces. This overrides the default padding  for the specifier.
- -: Do not pad a numeric result. This overrides the default padding  for the specifier.
- 0: Pad a numeric result with zeros. This overrides the default padding  for the specifier.
Parameters:
          
            
              | this | A DateTime | 
            
              | format | a valid UTF-8 string, containing the format for the  DateTime | 
          
          Returns:
          
            
              | a newly allocated string formatted to the requested format  or null in the case that 
                  there was an error. The string  should be freed with g_free. |