RFX_Date alternative

. In an earlier
article Claude Turner has pointed out that RFX_Date does not handle invalid dates properly. This code
is basically a replacement for RFX_Date that can handle invalid dates but still has the limitation that
it can handle the year upto 2038 only.

In the topic: “Database Programming”-‘look subject of the message’ there
is the remark to do not use CTime (its true), but TIMESTAMP_STRUCT (not
an object) in Access ODBC programming instead.
In my programs I use COleDateTime (prima!), and just the following code
must be supported to handle field exchange:

void RFX_DateTime( CFieldExchange* pFX,
      const char* szName, COleDateTime& value )
{
      CTime tm = CTime((value.GetYear()<1970 ? 1970 : value.GetYear()),value.GetMonth(),
      value.GetDay(),value.GetHour(),
      value.GetMinute(),value.GetSecond());

      RFX_Date(pFX, szName, tm);

      value.SetDateTime(tm.GetYear(),tm.GetMonth(),
      tm.GetDay(),tm.GetHour(),
      tm.GetMinute(),tm.GetSecond());
// instead of RFX_Date(pFX, szName, value);
}

Of course it does not exceeds date limitations of CTime bottleneck, but
user has COleDateTime object with all its’ functionality for ‘near
future’ (till 2038).

More by Author

Get the Free Newsletter!

Subscribe to Data Insider for top news, trends & analysis

Must Read