added wxDateTime::SetFrom/GetAsMSWSysTime() (#9161)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53697 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -30,6 +30,9 @@
|
||||
class WXDLLIMPEXP_FWD_BASE wxDateTime;
|
||||
class WXDLLIMPEXP_FWD_BASE wxTimeSpan;
|
||||
class WXDLLIMPEXP_FWD_BASE wxDateSpan;
|
||||
#ifdef __WXMSW__
|
||||
struct _SYSTEMTIME;
|
||||
#endif
|
||||
|
||||
#include "wx/dynarray.h"
|
||||
|
||||
@@ -598,6 +601,12 @@ public:
|
||||
wxDateTime_t minute = 0,
|
||||
wxDateTime_t second = 0,
|
||||
wxDateTime_t millisec = 0);
|
||||
#ifdef __WXMSW__
|
||||
wxDateTime(const struct _SYSTEMTIME& st)
|
||||
{
|
||||
SetFromMSWSysTime(st);
|
||||
}
|
||||
#endif
|
||||
|
||||
// default copy ctor ok
|
||||
|
||||
@@ -912,6 +921,17 @@ public:
|
||||
// pack the date in DOS format
|
||||
unsigned long GetAsDOS() const;
|
||||
|
||||
// SYSTEMTIME format
|
||||
// ------------------------------------------------------------------------
|
||||
#ifdef __WXMSW__
|
||||
|
||||
// convert SYSTEMTIME to wxDateTime
|
||||
wxDateTime& SetFromMSWSysTime(const struct _SYSTEMTIME&);
|
||||
|
||||
// convert wxDateTime to SYSTEMTIME
|
||||
void GetAsMSWSysTime(struct _SYSTEMTIME*) const;
|
||||
#endif // __WXMSW__
|
||||
|
||||
// comparison (see also functions below for operator versions)
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
|
@@ -24,32 +24,8 @@ namespace wxMSWDateControls
|
||||
// happen with a very old version of common controls DLL, i.e. before 4.70)
|
||||
extern bool CheckInitialization();
|
||||
|
||||
// convert SYSTEMTIME to wxDateTime
|
||||
inline void FromSystemTime(wxDateTime *dt, const SYSTEMTIME& st)
|
||||
{
|
||||
dt->Set(st.wDay,
|
||||
wx_static_cast(wxDateTime::Month, wxDateTime::Jan + st.wMonth - 1),
|
||||
st.wYear,
|
||||
0, 0, 0);
|
||||
}
|
||||
|
||||
// convert wxDateTime to SYSTEMTIME
|
||||
inline void ToSystemTime(SYSTEMTIME *st, const wxDateTime& dt)
|
||||
{
|
||||
const wxDateTime::Tm tm(dt.GetTm());
|
||||
|
||||
st->wYear = (WXWORD)tm.year;
|
||||
st->wMonth = (WXWORD)(tm.mon - wxDateTime::Jan + 1);
|
||||
st->wDay = tm.mday;
|
||||
|
||||
st->wDayOfWeek =
|
||||
st->wHour =
|
||||
st->wMinute =
|
||||
st->wSecond =
|
||||
st->wMilliseconds = 0;
|
||||
}
|
||||
|
||||
} // namespace wxMSWDateControls
|
||||
|
||||
#endif // _MSW_PRIVATE_DATECONTROLS_H_
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user