ATL 中的非 MFC 日期例程





0/5 (0投票)
2000年3月10日

59235

963
在 ATL 组件中的非 MFC 日期例程。
在我看来,编写 ATL 组件时,Windows 程序员最难克服的事情之一就是对 MFC 库的依赖。对于日期和字符串,MFC 通过在其类封装中处理内存分配和类型转换来简化程序员的工作。然而,这种简化伴随着必须将 MFC DLL 与您的组件一起分发的代价。
本文重点介绍了与在 ATL 组件中使用日期相关的问题。我开发了 DateLib
组件作为我公司项目的一部分,因此,该组件的方法特定于我公司的需求(我没有与该公司签订知识产权协议)。但是,DateLib
组件确实说明了如何构建一个不依赖于 MFC、线程安全且可以编译为 ANSI 或 UNICODE 的 ATL 组件。
DateLib 组件中的方法如下
日期格式化例程
Now
- 返回当前系统日期,以DATE
变量表示。OLE2Oracle
- 对于给定的DATE
,返回使用 DD-Mon-YYYY 表示的格式化字符串。Int2Oracle
- 对于给定的月、日和年,返回使用 DD-Mon-YYYY 表示的格式化字符串。Int2OLE
- 对于给定的月、日和年,以DATE
变量的形式返回日期。OLE2String
- 对于给定的DATE
,返回使用 MM/DD/YYYY 表示的格式化字符串。
日期解析例程
ParseOracle2OLE
- 对于给定 M/D/YY 格式的日期,以DATE
变量的形式返回日期。ParseOracle2String
- 对于给定 M/D/YY 格式的日期,返回使用 MM/DD/YYYY 表示的格式化字符串。ParseOracle2Oracle
- 对于给定 M/D/YY 格式的日期,返回使用 DD-Mon-YYYY 表示的格式化字符串。
日期计算例程
GetFirstDay
- 对于给定的DATE
,返回当月的第一天,以DATE
变量的形式表示。GetLastDay
- 对于给定的DATE
,返回当月的最后一天,以DATE
变量的形式表示。GetNextDay
- 对于给定的DATE
,返回下一天的日期,以DATE
变量的形式表示。GetNextWeek
- 对于给定的DATE
,返回下一周的日期,以DATE
变量的形式表示。GetNextMonth
- 对于给定的DATE
,返回下个月的日期,以DATE
变量的形式表示。GetNextYear
- 对于给定的DATE
,返回下一年的日期,以DATE
变量的形式表示。GetPreviousDay
- 对于给定的DATE
,返回上一天的日期,以DATE
变量的形式表示。GetPreviousWeek
- 对于给定的DATE
,返回上一周的日期,以DATE
变量的形式表示。GetPreviousMonth
- 对于给定的DATE
,返回上个月的日期,以DATE
变量的形式表示。GetPreviousYear
- 对于给定的 DATE,返回上一年的日期,以DATE
变量的形式表示。