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
// (in seconds)
static int GetTimeZone()
// NOTE: not static because used by datetimefmt.cpp
int GetTimeZone()
{
// set to true when the timezone is set
static bool s_timezoneSet = false;
@@ -455,7 +456,8 @@ static long GetTruncatedJDN(wxDateTime::wxDateTime_t day,
#ifdef HAVE_STRFTIME
// 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];
// 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
static void InitTm(struct tm& tm)
// fill the struct tm with default values
// NOTE: not static because used by datetimefmt.cpp
void InitTm(struct tm& tm)
{
// struct tm may have etxra fields (undocumented and with unportable
// names) which, nevertheless, must be set to 0
@@ -665,6 +668,13 @@ wxDateTime::TimeZone::TimeZone(wxDateTime::TZ tz)
// static functions
// ----------------------------------------------------------------------------
/* static */
struct tm *wxDateTime::GetTmNow(struct tm *tmstruct)
{
time_t t = GetTimeNow();
return wxLocaltime_r(&t, tmstruct);
}
/* static */
bool wxDateTime::IsLeapYear(int year, wxDateTime::Calendar cal)
{

View File

@@ -63,6 +63,16 @@
// 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)
// ----------------------------------------------------------------------------
@@ -174,13 +184,6 @@ static wxDateTime::WeekDay GetWeekDayFromName(const wxString& name, int flags)
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
static bool GetNumericToken(size_t len,
const wxStringCharType*& p,