167 Commits

Author SHA1 Message Date
Christian Hergert
52e44ddec2 datetime: avoid using __year
These were left over from when the inline functions where implemented
as macros.  They are no longer needed and where clashing with the
global __year anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=50076
2010-09-06 11:50:30 +01:00
Emmanuele Bassi
64300c0cc4 datetime: Add get_week_of_year()
https://bugzilla.gnome.org/show_bug.cgi?id=628029

Based on a patch by: Joseph Pingenot

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-09-06 11:50:30 +01:00
Emmanuele Bassi
70ef2e3bf6 datetime: Rename internal method
Use add_ymd(), to reflect the order of the arguments.
2010-09-06 11:50:30 +01:00
Emmanuele Bassi
ca7dee5949 Build fixes for the fall-out of the inclusion changes 2010-09-04 18:04:34 +01:00
Matthias Clasen
7c68050451 Remove excessive header includes 2010-09-03 21:15:45 -04:00
Emmanuele Bassi
9a61fb2c64 datetime: Re-use add_dmy()
Avoid code duplication.
2010-08-26 12:58:19 +01:00
Tor Lillqvist
3c86a77ae5 Fix Win32 build 2010-08-26 12:41:46 +03:00
Emmanuele Bassi
08877ee0dc datetime: Fix a thinko
We need to check if a year is a leap one *after* we increased it with
the given value, not before.
2010-08-25 23:08:18 +01:00
Emmanuele Bassi
026375b395 datetime: Avoid excessive copies in add_full()
The current implementation of g_date_time_add_full() creates multiple
GDateTime temporary objects and unrefs them immediately; even with the
slice allocator this could result in a performance bottleneck,
especially if the atomic integer operations fall back to slow paths.

We can isolate the components of the add_full() operation and create
internal modifiers that operate on an existing GDateTime; this brings
down the number of GDateTime copies created from six to one.

While at it, the test suite for add_full() should have more checks for
roll-over of months and days.

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-08-25 23:04:42 +01:00
Emmanuele Bassi
99621efbd5 docs: Reword the datetime short description 2010-08-25 16:23:34 +01:00
Emmanuele Bassi
5e65ed4e44 datetime: Fix leap year check
Remove a FIXME and an approximation when computing the seconds from
the Unix epoch.
2010-08-25 13:42:48 +01:00
Emmanuele Bassi
2952e908e4 datetime: Fix coding style 2010-08-25 12:24:54 +01:00
Emmanuele Bassi
0a59ab6e85 datetime: Use %Z for the timezone name
We should try and follow strftime(3) for the format control characters
as much as possible.
2010-08-25 12:14:04 +01:00
Emmanuele Bassi
b4c0b958af datetime: Fix the format documentation
The %x format is for the preferred date, and the %X format is for the
preferred time.
2010-08-25 12:09:16 +01:00
Emmanuele Bassi
9a39b1d705 datetime: Clean up macros and unused variables
The most complex macros should be converted to inlined functions,
instead, to guarantee some type safety.
2010-08-25 12:06:47 +01:00
Emmanuele Bassi
0f87f09397 datetime: Remove the translation marker for a warning message 2010-08-25 00:27:49 +01:00
Thiago Santos
e1f13ee9ed Add GDateTime to GLib
GDateTime is an opaque data type containing a date and time
representation. It's immutable once created and reference
counted.

https://bugzilla.gnome.org/show_bug.cgi?id=50076

Based on the code by: Christian Hergert <chris@dronelabs.com>

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-08-24 23:41:21 +01:00