rfx_date.txt

来自「在RFX_Date中使用COleDateTimeusing.」· 文本 代码 · 共 27 行

TXT
27
字号
RFX_Date alternative

--------------------------------------------------------------------------------

This article was contributed by Jarek Jaskolski. 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). 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?