Multi-platform fixes to test-gnc-date.c

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22599 57a11ea4-9604-0410-9ed3-97b8803252fd
Reformat a comment to fit on an 80-col term

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22600 57a11ea4-9604-0410-9ed3-97b8803252fd
Set up the modpath correctly for Win32, OSX, and Unix in test-dynload.c

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22601 57a11ea4-9604-0410-9ed3-97b8803252fd
Update Makefile.decl to a newer version that works with MinGW

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22602 57a11ea4-9604-0410-9ed3-97b8803252fd
Fix gnc-date and test-gnc-date to pass with MinGW

Special-case MSWin results.

Create a private struct of function pointers so that we can continue to
use the Win32 workaround functions in test-gnc-date.c while we refactor
gnc-date.c to use GDateTime instead of gmtime, localtime, and mktime.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22603 57a11ea4-9604-0410-9ed3-97b8803252fd
Implement internal replacements for localtime, mktime, etc.

The builtin time functions suffer from the "2038 bug" caused by
overflowing a 32-bit representation of seconds from 1 Jan 1970. Provide
functions based on GDateTime which use a 64-bit representation (like our
Timespec), replace all of the instances in gnc-date.c, and make other
adjustments needed to ensure that the tests pass on a 32-bit system.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22604 57a11ea4-9604-0410-9ed3-97b8803252fd
Add a note pointing out the separate implementations in qof-win32.c

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22605 57a11ea4-9604-0410-9ed3-97b8803252fd
Rewrite gnc_iso8601_to_timespec_gmt

Into something that isn't an ugly hack and actually works.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22606 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove gnc_dmy2gdate, which isn't used.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22607 57a11ea4-9604-0410-9ed3-97b8803252fd
Rewrite and rename xaccDateUtilGetStampNow to gnc_date_timestamp.

Removing an ugly and antiquated name and providing a more concise implementation.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22608 57a11ea4-9604-0410-9ed3-97b8803252fd
Clean up some comments

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22609 57a11ea4-9604-0410-9ed3-97b8803252fd
New public function gnc_g_date_time_new_from_timespec_local

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22610 57a11ea4-9604-0410-9ed3-97b8803252fd
Rewrite gnc_timespec_to_iso8601_buff to use g_date_time_format.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22611 57a11ea4-9604-0410-9ed3-97b8803252fd
Work around the way g_date_time_new truncates microseconds.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22612 57a11ea4-9604-0410-9ed3-97b8803252fd
Replace the time_t-based timespec_secs_to_given_string with gnc-date functions.

Thus saving having to write gnc_timegm.

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22613 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove date exceptions.

GncDate can now handle all dates between 1 Jan 0001 and 31 Dec 9999
(proleptic Gregorian).

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22614 57a11ea4-9604-0410-9ed3-97b8803252fd
Create 64-bit time type time64 and replace gint64 with time64

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22615 57a11ea4-9604-0410-9ed3-97b8803252fd
Convenience GDate functions to set to today and an arbitrary time64.

To replace most uses of g_date_set_time_t().

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22616 57a11ea4-9604-0410-9ed3-97b8803252fd
Convert all time_t to time64: libqof

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22617 57a11ea4-9604-0410-9ed3-97b8803252fd
Convert all time_t to time64: core-utils

git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@22618 57a11ea4-9604-0410-9ed3-97b8803252fd