share a few helpers between datetime.cpp and datetimefmt.cpp

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-03-20 22:07:09 +00:00
parent 48fd6e9dd7
commit 1ee2f9d96d
2 changed files with 24 additions and 11 deletions

View File

@@ -382,7 +382,8 @@ wxDateTime::wxDateTime_t GetNumOfDaysInMonth(int year, wxDateTime::Month month)
// returns the time zone in the C sense, i.e. the difference UTC - local // returns the time zone in the C sense, i.e. the difference UTC - local
// (in seconds) // (in seconds)
static int GetTimeZone() // NOTE: not static because used by datetimefmt.cpp
int GetTimeZone()
{ {
// set to true when the timezone is set // set to true when the timezone is set
static bool s_timezoneSet = false; static bool s_timezoneSet = false;
@@ -455,7 +456,8 @@ static long GetTruncatedJDN(wxDateTime::wxDateTime_t day,
#ifdef HAVE_STRFTIME #ifdef HAVE_STRFTIME
// this function is a wrapper around strftime(3) adding error checking // this function is a wrapper around strftime(3) adding error checking
static wxString CallStrftime(const wxString& format, const tm* tm) // NOTE: not static because used by datetimefmt.cpp
wxString CallStrftime(const wxString& format, const tm* tm)
{ {
wxChar buf[4096]; wxChar buf[4096];
// Create temp wxString here to work around mingw/cygwin bug 1046059 // Create temp wxString here to work around mingw/cygwin bug 1046059
@@ -499,8 +501,9 @@ static void ReplaceDefaultYearMonthWithCurrent(int *year,
} }
} }
// fll the struct tm with default values // fill the struct tm with default values
static void InitTm(struct tm& tm) // NOTE: not static because used by datetimefmt.cpp
void InitTm(struct tm& tm)
{ {
// struct tm may have etxra fields (undocumented and with unportable // struct tm may have etxra fields (undocumented and with unportable
// names) which, nevertheless, must be set to 0 // names) which, nevertheless, must be set to 0
@@ -665,6 +668,13 @@ wxDateTime::TimeZone::TimeZone(wxDateTime::TZ tz)
// static functions // static functions
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
/* static */
struct tm *wxDateTime::GetTmNow(struct tm *tmstruct)
{
time_t t = GetTimeNow();
return wxLocaltime_r(&t, tmstruct);
}
/* static */ /* static */
bool wxDateTime::IsLeapYear(int year, wxDateTime::Calendar cal) bool wxDateTime::IsLeapYear(int year, wxDateTime::Calendar cal)
{ {

View File

@@ -63,6 +63,16 @@
// implementation of wxDateTime // implementation of wxDateTime
// ============================================================================ // ============================================================================
// ----------------------------------------------------------------------------
// helpers shared between datetime.cpp and datetimefmt.cpp
// ----------------------------------------------------------------------------
extern void InitTm(struct tm& tm);
extern int GetTimeZone();
extern wxString CallStrftime(const wxString& format, const tm* tm);
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// constants (see also datetime.cpp) // constants (see also datetime.cpp)
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -174,13 +184,6 @@ static wxDateTime::WeekDay GetWeekDayFromName(const wxString& name, int flags)
return wd; return wd;
} }
/* static */
struct tm *wxDateTime::GetTmNow(struct tm *tmstruct)
{
time_t t = GetTimeNow();
return wxLocaltime_r(&t, tmstruct);
}
// scans all digits (but no more than len) and returns the resulting number // scans all digits (but no more than len) and returns the resulting number
static bool GetNumericToken(size_t len, static bool GetNumericToken(size_t len,
const wxStringCharType*& p, const wxStringCharType*& p,