65.9K
CodeProject 正在变化。 阅读更多。
Home

ATL 中的非 MFC 日期例程

2000年3月10日

viewsIcon

59235

downloadIcon

963

在 ATL 组件中的非 MFC 日期例程。

  • 下载演示项目 - 5 Kb
  • 下载源文件 - 5 Kb
  • 在我看来,编写 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 变量的形式表示。


    © . All rights reserved.