返 回
目 录
C O le DateTimeSpan COleDialog
C O le D ispatchDriver
COleDispatchException C O le DocObjectItem COleDocument COleDropSource COleDropTarget COleException
CO leInsertDialog CO leIPFrame W nd COleDBRecordView COleLinkingDoc COleLinksDialog COleMessageFilter CO leObjectFactory
CO lePasteSpecialDialog COlePropertiesDialog CO lePropertyPage COleResizeBar
CO leSafeArray
COleServerDoc CO leServerItem COleStreamFile
C O leTemplateServer CO leUpdateDialog CO leVariant CPageSetupDialog CPaintDC
CPalette CPen
CPictureHolder CPoint
CPrintDialog CPrintInfo CProgressCtrl CPropExchange CPropertyPage CPropertyPageEx CPropertySheet CPropertySheetEx CPtrArray CPtrList
CReBar CReBarCtrl
CRecentFileList CRecordset CRecordView CRect CRectTracker CResourceException CRgn
C R ichEditCntrItem CRichEditCtrl CRichEditDoc CRichEditView CRuntimeClass
CScrollBar CScrollView CSemaphore CSharedFile CSingleDocTemplate CS ingleLock
CS ize CS liderCtrl
CSocket
CSocketFile CSpinButtonCtrl CSplitter W nd
CStatic CStatusBar CStatusBarCtrl CStdioFile CString CStringArray CStringList CSyncObject CTabCtrl CTime
CT imeSpan CToolBar
C O le DateTimeSpan
COleDateTimeSpan 没 有 基 类 。
- 个 COleDateTimeSpan 对 象 表 示 一 个 相 对 的 时 间 , 即 一 个 时
间 段 。
COleDateTimeSpan 以 日 为 单 位 来 保 存 时 间 。
COleDateTimeSpan 类 常 常 与 类 COleDateTime 一 起 使 用 。 COleDateTime 封 装 了OLE 自 动 化 中 的 DATE 数 据 类 型 。 COleDateTime 表 示 绝 对 的 时 间 值 。 所 有 的COleDateTime 计 算 都 涉 及 COleDateTimeSpan 值 。 这 两 个 类 之 间 的 关 系 类 似 于类 CTime 和 类 CTimeSpan 之 间 的 关 系 。
有 关 类 COleDateTime 和 COleDateTimeSpan 的 更 进 一 步 的 信 息 ,可 以 参 考“ V isual C++ 程 序 员 指 南 ” 一 书 中 的 文 章 “ 日 期 与 时 间 : 自 动 化 支 持 ” 。
# include <afxdisp.h>
CO leDateTimeSpan 类 成 员
Constructor
ColeDateTimeSpan 构 造 COleDateTimeSpan 对 象
Attributes |
|||
---|---|---|---|
GetStatus |
获 取 | COleDateTimeSpan |
对 象 的 状 态 ( 有 效 性 ) |
SetStatus |
设 置 | COleDateTimeSpan |
对 象 的 状 态 ( 有 效 性 ) |
GetDays |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 时 间 段 的 日 部 分 |
GetHours |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 时 间 段 的 小 时 部 分 |
GetMinutes |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 时 间 段 的 分 钟 部 分 |
GetSeconds |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 时 间 段 的 秒 部 分 |
GetTotalDays |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 天 数 |
GetTotalHours |
返 回 | COleDateTimeSpan |
对 象 所 表 示 的 小 时 数 |
Attributes |
GetTotalMinutes 返 回 COleDateTimeSpan 对 象 所 表 示 的 分 钟 数
GetTotalSeconds 返 回 COleDateTimeSpan 对 象 所 表 示 的 秒 数
Operations
SetDateTimeSpan 设 置 COleDateTimeSpan 对 象 的 值
Format 产 生 一 个 COleDateTimeSpan 对 象 的 格 式 化 字 符 串表 达 式
Operators
操 作 符 double 将 COleDateTimeSpan 的 值 转 换 为 双 精 度 值操 作 符 = 拷 贝 一 个 COleDateTimeSpan 值
操 作 符 + , - 加 、 减 COleDateTimeSpan 值 , 或 改 变
COleDateTimeSpan 值 的 符 号
操 作 符 += , -= 从 一 个 COleDateTimeSpan 值 中 加 、 减 这 个
COleDateTimeSpan 值
操 作 符 == , < , <= 比 较 两 个 COleDateTimeSpan 值
Data Members
m_span 记 录 这 个 COleDateTimeSpan 对 象 所 代 表 的 基 本 的双 精 度 值
m_status 记录 COleDateTimeSpan 对 象 的 状 态
Dump/Archive
操 作 符 << 将 COleDateTimeSpan 值 输 出 到 CArchive 或
CDumpContext
操 作 符 >> 从 CArchive 输 入 一 个 COleDateTimeSpan 对 象
成 员 函 数
CO leDateTimeSpan ::CO leDateTimeSpan
COleDateTimeSpan ();
COleDateTimeSpan (const COleDateTimeSpan & dateSpanSrc ); COleDateTimeSpan (double dblSpanSrc);
COleDateTimeSpan (long lDay s ,int nHours ,int nMin s ,int nSecs );
参 数
dateSpanSrc
要 拷 贝 到 新 的 COleDateTimeSpan 对 象 中 去 的 一 个 已 经 存 在 的
COleDateTimeSpan 对 象 。
dblSpanSrc
要 拷 贝 到 新 的 COleDateTimeSpan 对 象 中 去 的 天 数 。
lDays,nHours,nMins,nSecs
表 示 要 拷 贝 到 新 的 COleDateTimeSpan 对 象 中 去 的 日 期 和 时 间 值 。
说 明
所 有 这 些 构 造 函 数 创 建 的 新 的 COleDateTimeSpan 对 象 都 被 初 始 化 为 指 定 的 值 。下 面 给 出 了 有 关 每 一 个 构 造 函 数 的 简 短 描 述 :
-
COleDateTimeSpan ( ) 构 造 一 个 初 始 值 为 0 的 COleDateTimeSpan
对 象 。
-
COleDateTimeSpan ( dateSpanSrc ) 根 据 一 个 已 经 存 在 的
COleDateTimeSpan
对 象 构 造 一 个 新 的 COleDateTimeSpan 对 象 。
- COleDateTimeSpan ( dblSpanSrc ) 根 据 一 个 浮 点 值 构 造 一 个
COleDateTimeSpan 对 象 。
- COleDateTimeSpan ( lDays ,nHours ,nMins ,nSecs ) 构 造 一
个 按 给 定 的 数 字 值初 始 化 的 COleDateTimeSpan 对 象 。
新 的 |
COleDateTimeSpan 对 象 的 状 态 被 设 置 为 有 效 的 。 |
||
---|---|---|---|
有 关 |
COleDateTimeSpan 值 的 界 限 问 题 的 更 进 一 步 的 信 息 ,参 见“ Visual |
C++ |
程 |
序 员 指 南 ” 一 书 中 的 文 章 “ 日 期 和 时 间 : 自 动 化 支 持 ” 。
示 例
COleDateTimeSpan spanOne ( 2.75 ) ; // 2 天 18 小 时
COleDateTimeSpan spanTwo ( 2 , 18 , 0 , 0 ) ; // 2 天 18 小 时
COleDateTimeSpan spanThree ( 3 , -6 , 0 , 0 ) ; // 2 天 18 小 时
请 参 阅 COleDateTimeSpan:: operator = , COleDateTimeSpan:: GetStatu s,
COleDateTimeSpan:: m_span , COleDateTimeSpan:: m_status
CO leDateTimeSpan ::Format
CString Forma t( LPCTSTR pFormat ) const; CString Forma t( UNIT nID ) const;
返 回 值
- 个 含 有 格 式 化 的 日 期 /时 间 间 隔 值 的 CString 值 。
参 数
pFormat
一 个 代 表 格 式 的 字 符 串 , 类 似 于 printf 中 的 代 表 格 式 的 字 符 串 。 表 示 格式 的 代 码 , 其 前 面 的 百 分 号 ( % ) 由 相 应 的 COleDateTimeSpan 成 分 所 代
替 。 而 表 示 格 式 的 字 符 串 中 的 其 它 字 母 则 原 封 不 动 的 拷 贝 到 返 回 字 符 串中 。 更 多 的 细 节 可 参 见 运 行 时 函 数 strftim e。 在 Format 函 数 中 表 示 格 式的 符 号 的 值 和 含 义 列 表 如 下 :
-
%H 当 前 日 的 小 时 数
-
% M 当 前 小 时 中 的 分 钟 数
-
%S 当 前 分 钟 中 的 秒 数
-
% % 百 分 号
nID
格 式 控 制 字 符 串 的 资 源 ID 。
说 明
调 用 这 些 函 数 可 以 生 成 一 个 有 关 时 间 段 值 的 格 式 化 表 达 式 。 如 果
COleDateTimeSpan 对 象 的 状 态 为 无 效 , 则 返 回 值 为 一 个 空 的 字 符 串 。 如 果 其 状态 为 有 效 的 , 则 返 回 的 是 一 个 由 字 符 串 资 源 IDS_INVALID_DATETIMESPAN 确 定 的 字 符 串 。
有 关 这 个 函 数 的 几 种 形 式 的 简 短 描 述 如 下 所 示 :
Format ( pFormat )
这 种 形 式 的 函 数 用 格 式 字 符 串 来 格 式 化 相 应 的 值 , 格 式 字 符 串 中 用 前 置的 百 分 号 ( % ) 来 指 定 表 示 格 式 的 符 号 , 就 象 在 printf 中 一 样 。 该 格 式 字符 串 是 一 个 资 源 。 这 个 字 符 串 的 ID 是 作 为 参 数 传 递 给 该 函 数 的 。
Format ( nID )
这 种 形 式 的 函 数 用 格 式 字 符 串 来 格 式 化 相 应 的 值 , 格 式 字 符 串 中 用 前 置的 百 分 号 ( % ) 来 指 定 表 示 格 式 的 符 号 , 就 象 在 printf 中 一 样 。 该 格 式 字符 串 是 一 个 资 源 。 这 个 字 符 串 的 ID 是 作 为 指 针 来 传 递 的 。
有 关 函 数 中 使 用 的 格 式 化 符 号 的 更 多 的 信 息 ,可 以 参 见“ M icrosoft Visual C++ 6.0
运 行 时 间 库 参 考 ” 。
有 关 本 地 ID 值 的 列 表 , 可 参 见 “ W in32 SDK OLE 程 序 员 参 考 ” 一 书 中 的 “ 支持 多 国 语 言 ” 章 节 。
请 参 阅 COleDateTimeSpan::GetStatus
CO leDateTimeSpan::GetDays
long GetDays() const;
返 回 值
日 期 /时 间 段 值 的 日 部 分 。
调 用 这 个 成 员 函 数 可 以 跟 踪 日 期 /时 间 段 值 的 日 部 分 。
这 个 函 数 的 返 回 值 的 范 围 大 致 在 -3,615,000 与 3,615,000 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalDays
-
GetTotalHours
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetHours
long GetHours() const;
日 期 /时 间 段 值 的 小 时 部 分 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 日 期 /时 间 段 值 的 小 时 部 分 。这 个 函 数 的 返 回 值 的 范 围 在 -23 与 23 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetMinutes
-
GetSeconds
-
GetTotalDays
-
GetTotalHours
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetMinutes
long GetMinutes() const;
返 回 值
日 期 /时 间 段 值 的 分 钟 部 分 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 日 期 /时 间 段 值 的 分 钟 部 分 。这 个 函 数 的 返 回 值 的 范 围 在 -59 与 59 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetSeconds
-
GetTotalDays
-
GettotalHours
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetSeconds
long GetSeconds() const;
返 回 值
日 期 /时 间 段 值 的 秒 部 分 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 日 期 /时 间 段 值 的 秒 部 分 。
这 个 函 数 的 返 回 值 的 范 围 大 致 在 -59 与 59 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetTotalDays
-
GetTotalHours
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetStatus DateTimeSpanStatus GetStatus() const; 返 回 值
COleDateTimeSpan 值 的 状 态 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 这 个 COleDateTimeSpan 对 象 的 状 态 ( 有 效 性 ) 。这 个 返 回 值 是 用 DateTimeSpanStatus 枚 举 类 型 定 义 的 , 该 枚 举 类 型 是 在
COleDateTimeSpan 类 中 定 义 的 。
enum DateTimeSpanStatus{ valid = 0,
invalid = 1,
null = 2,
};
下 面 列 出 了 有 关 这 些 状 态 值 的 简 短 描 述 :
-
COleDateTimeSpan::valid 表 示 这 个 COleDateTimeSpan 对 象 是 有 效
的 。
-
COleDateTimeSpan::invalid 表 示 这 个 COleDateTimeSpan 对 象 是 无
效 的 , 也 就 是 说 , 这 个 对 象 的 值 有 可 能 是 错 误 的 。
-
COleDateTimeSpan::null 表 示 这 个 COleDateTimeSpan 对 象 是 空 的
, 也 就是 说 , 没 有 值 被 提 供 给 这 个 对 象 。( 在 数 据 库 中“ null ” 意 味 着“ 没 有 值 ” , 这 与 C++ 的 NULL 相 反 。 )
在 下 面 的 示 例 中 一 个 COleDateTimeSpan 对 象 的 状 态 是 无 效 的 :
-
该 对 象 在 一 次 算 术 赋 值 操 作 , 即 += 或 -= 中 , 产 生 了 上
溢 或 者 下 溢 。
-
一 个 无 效 的 值 被 赋 给 了 这 个 对 象 。
-
通 过 使 用 SetStatus 将 这 个 对 象 的 状 态 显 式 的 设 置 为 无
效 。
有 关 其 它 可 以 将 状 态 设 置 为 无 效 的 操 作 的 更 进 一 步 的 信 息 , 参 见
COleDateTimeSpan:: operator+ , -和 COleDateTimeSpan::operator+= , -= 。
有 关 COleDateTimeSpan 值 的 界 限 的 更 进 一 步 的 信 息 , 参 见 “ Visual C++ 程序员 指 南 ” 一 书 中 的 文 章 “ 日 期 与 时 间 : 自 动 化 支 持 ” 。
请 参 阅 COleDateTimeSpan::SetStatus,ColeDateTimeSpan::m_status
CO leDateTimeSpan::GetTotalDays
double GetTotalDays() const;
返 回 值
这 个 日 期 / 时 间 段 值 以 日 为 单 位 。 虽 然 这 个 函 数 的 原 型 是 返 回 一 个 双 精 度 值 , 但是 它 也 常 常 返 回 一 个 整 型 值 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 以 日 为 单 位 表 示 的 日 期 /时 间 段 值 。这 个 函 数 的 返 回 值 的 范 围 大 致 在 -3.65e6 与 3.65e6 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalHours
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan , ColeDateTimeSpan::operator
CO leDateTimeSpan::GetTotalHours
double GetTotalHours() const;
返 回 值
这 个 日 期 / 时 间 段 值 以 小 时 为 单 位 。 虽 然 这 个 函 数 的 原 型 是 返 回 一 个 双 精 度 值 , 但 是 它 也 常 常 返 回 一 个 整 型 值 。
调 用 这 个 成 员 函 数 可 以 获 取 以 小 时 为 单 位 的 日 期 /时 间 段 值 。这 个 函 数 的 返 回 值 的 范 围 大 致 在 -8.77e7 与 8.77e7 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalDays
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetTotalMinutes
double GetTotalMinutes() const;
这 个 日 期 / 时 间 段 值 以 分 钟 为 单 位 。 虽 然 这 个 函 数 的 原 型 是 返 回 一 个 双 精 度 值 , 但 是 它 也 常 常 返 回 一 个 整 型 值 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 以 分 钟 为 单 位 的 日 期 /时 间 段 值 。这 个 函 数 的 返 回 值 的 范 围 大 致 在 -5.26e9 与 5.26e9 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalDays
-
GetTotalHours
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::GetTotalSeconds
double GetTotalSeconds() const;
返 回 值
这 个 日 期 / 时 间 段 值 以 秒 为 单 位 。 虽 然 这 个 函 数 的 原 型 是 返 回 一 个 双 精 度 值 , 但是 它 也 常 常 返 回 一 个 整 型 值 。
说 明
调 用 这 个 成 员 函 数 可 以 获 取 以 秒 为 单 位 的 日 期 /时 间 段 值 。这 个 函 数 的 返 回 值 的 范 围 大 致 在 -3.16e11 与 3.16e11 之 间 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalD ays
-
GetTotalMinutes
-
GetTotalSeconds
请 参 阅 COleDateTimeSpan::SetDateTimeSpan
CO leDateTimeSpan::SetDateTimeSpan
void SetDateTimeSpan(long lDay s,int nHours ,int nMins ,int nSecs );
参 数
kDays,nHours,nMins,nSecs
表 示 要 被 拷 贝 到 COleDateTimeSpan 对 象 中 去 的 日 期 段 和 时 间 段 值 。
说 明
调 用 这 个 成 员 函 数 可 以 设 置 日 期 /时 间 段 值 。
其 它 用 来 查 询 COleDateTimeSpan 对 象 的 函 数 可 以 参 见 下 面 列 出 的 成 员 函 数 :
-
GetDays
-
GetHours
-
GetMinutes
-
GetSeconds
-
GetTotalDays
-
GetTotalHours
-
GetTotalMinutes
-
GetTotalSeconds
示 例
COleDateTimeSpan spanOne; COleDateTimeSpan spanTwo;
spanOne.SetDateTimeSpan(0,2,45,0); //2 小 时 45 秒
spanTwo.SetDateTimeSpan(0,3,-15,0); //2 小 时 45 秒
请 参 阅 COleDateTimeSpan::GetStatus,COleDateTimeSpan::m_span
CO leDateTimeSpan::SetStatus
void SetStatus(DateTimeSpanStatus nStatu s);
参 数
nStatus
表 示 COleDateTimeSpan 对 象 的 新 的 状 态 值 。
说 明
调 用 这 个 成 员 函 数 可 以 设 置 COleDateTimeSpan 对 象 的 状 态 ( 有 效 性 ) 。 参 数
nStatus 值 是 用 DateTimeSpanStatus 枚 举 类 型 定 义 的 , 该 枚 举 类 型 是 在
COleDateTimeSpan 类 中 定 义 的 。
enum DateTimeSpanStatus{ valid = 0,
invalid = 1,
null = 2,
};
下 面 列 出 了 有 关 这 些 状 态 值 的 简 短 描 述 :
-
COleDateTimeSpan::valid 表 示 这 个 COleDateTimeSpan 对 象 是 有 效
的 。
-
COleDateTimeSpan::invalid 表 示 这 个 COleDateTimeSpan 对 象 是 无
效 的 , 也 就 是 说 , 这 个 对 象 的 值 有 可 能 是 错 误 的 。
-
COleDateTimeSpan::null 表 示 这 个 COleDateTimeSpan 对 象 是 空 的
, 也 就是 说 , 没 有 值 被 提 供 给 这 个 对 象 。( 在 数 据 库 中 “ null ” 意 味 着“ 没 有 值 ” , 这与 C++ 的 NULL 不 同 。 )
警 告 这 个 函 数 适 用 于 高 级 编 程 的 情 况 。 这 个 函 数 不 改 变 对 象 中 的 数 据 。
它 常 常 被 用 来 将 对 象 的 状 态 设 置 为 null 或 invalid 。 注 意 赋 值 操 作 符
( operator = ) 和 SetDateTimeSpan 是 基 于 源 值 来 设 置 对 象 的 状 态 。
请 参 阅 C O leDateTimeSpan::GetStatus,C O leDateTimeSpan::m_status
操 作 符
CO leDateTimeSpan::operator =
const COleDateTimeSpan& operator=( double dblSpanSrc );
const COleDateTimeSpan& operator=( const COleDateTimeSpan& dateSpanSrc );
说 明
这 些 重 载 的 赋 值 操 作 符 将 源 日 期 /时 间 段 值 拷 贝 到 COleDateTimeSpan 对 象 中 。
请 参 阅 COleDateTimeSpan::COleDateTimeSpan
CO leDateTimeSpan::operator +,-
COleDateTimeSpan opetator+(const COleDateTimeSpan& dateSpan ) const; COleDateTimeSpan operator-(const COleDateTimeSpan& dateSpan ) const; COleDateTimeSpan operator-() const;
说 明
前 两 个 操 作 符 可 以 用 来 加 、 减 日 期 / 时 间 段 值 。 第 三 个 操 作 符 用 来 改 变 日 期 / 时间 段 值 的 符 号 。
如 果 两 个 操 作 数 有 一 个 为 空 , 则 结 果 中 的 COleDateTimeSpan 值 的 状 态 也 是 空 。
如 果 两 个 操 作 数 中 一 个 为 无 效 , 另 一 个 不 为 空 , 则 结 果 中 的 COleDateTimeSpan
值 的 状 态 也 是 无 效 。
有 关 状 态 值 valid , invalid 和 null 的 进 一 步 信 息 , 可 参 考 成 员 变 量 m_status。
请 参 阅 COleDateTimeSpan::operator+= , -=
CO leDateTimeSpan::operator +=,-=
const COleDateTimeSpan opetator+=(const COleDateTimeSpan dateSpan ) ; cons tCOleDateTimeSpan operator-=(const COleDateTimeSpan dateSpan );
说 明
这 两 个 操 作 符 可 以 用 来 从 一 个 COleDateTimeSpan 对 象 中 加 、 减 这 个 日 期 /时 间段 值 。
如 果 两 个 操 作 数 有 一 个 为 空 , 则 结 果 中 的 COleDateTimeSpan 值 的 状 态 也 是 空 。
如 果 两 个 操 作 数 中 一 个 为 无 效 , 另 一 个 不 为 空 , 则 结 果 中 的 COleDateTimeSpan
值 的 状 态 也 是 无 效 。
有 关 状 态 值 valid , invalid 和 null 的 进 一 步 信 息 , 可 参 考 成 员 变 量 m_status。
请 参 阅 COleDateTimeSpan::operator + , -
CO leDateTimeSpan::operator double
operator double() const
说 明
这 个 操 作 符 将 一 个 COleDateTimeSpan 值 的 天 数 作 为 一 个 浮 点 值 返 回 。
请 参 阅 COleDateTimeSpan::GetTotalDays, COleDateTimeSpan::SetDateTimeSpan,
COleDateTimeSpan::m_span
CO leDateTimeSpan Relational Operators
BOOL operator= = ( const COleDateTimeSpan& dateSpan ) cons t; BOOL operator!= ( const COleDateTimeSpan& dateSpan ) const ; BOOL operator< ( const COleDateTimeSpan& dateSpan ) cons t; BOOL operator> ( const COleDateTimeSpan& dateSpan ) cons t;
BOOL operator<= ( const COleDateTimeSpan& dateSpan ) const ; BOOL operator>= ( const COleDateTimeSpan& dateSpan ) const ;
说 明
这 些 操 作 符 比 较 两 个 日 期 /时 间 段 值 , 如 果 条 件 满 足 则 返 回 非 零 值 ; 否 则 返 回 零值 。
警 告 如 果 两 个 操 作 数 中 的 任 何 一 个 的 状 态 为 空 或 者 无 效 , 则 顺 序 操 作符 ( <, <= , > , >= ) 的 返 回 值 就 是 不 确 定 的 。 等 号 操 作 符 ( = = , != ) 也要 考 虑 操 作 数 的 状 态 。
示 例
COleDateTimeSpan spanOne(3,12,0,0); //3 天 12 小 时
COle DateTimeSpan spanTwo(spanOne); //3 天 12 小 时
Bool b;
b = spanOne = = spanTwo; //TRUE spanTwo.SetStatus(COleDateTimeSpan::invalid);
b = spanOne = = spanTwo; // FALSE,different status
b = spanOne != spanTwo; // TRUE,different status
b = spanOne < spanTwo; // FALSE,same value
b = spanOne > spanTwo; // FALSE,same value b = spanOne <= spanTwo; // TRUE,same value
b = spanOne >= spanTwo; // TRUE,same value
警 告 上 述 示 例 中 的 后 四 行 将 在 调 试 模 式 中 声 明 。
ColeDateTimeSpan ::Operator << , >>
friend CDumpContext& AFXAPI operator<<( CDumpContext&
dc ,COleDateTimeSpan date Sp - an )
friend CArchive& AFXAPI operator<<( CArchive& a r ,COleDateTimeSpan
dateSpan );
friend CArchive& AFXAPI operator>>( CArchive& a r ,COleDateTimeSpan
dateSpan );
说 明
COleDateTimeSpan 插 入 操 作 符 ( << ) 支 持 诊 断 转 储 并 可 以 保 存 到 一 个 文 件 。提 取 操 作 符 ( >> ) 支 持 从 一 个 文 件 中 提 取 内 容 。
请 参 阅 CDumpContext,CArchive
数 据 成 员
CO leDateTimeSpan::m_span
说 明
这 是 COleDateTimeSpan 对 象 的 基 本 的 双 精 度 值 。 其 值 以 日 为 单 位 表 示 日 期 /时间 段 值 。
警 告 改 变 这 个 双 精 度 数 据 成 员 的 值 , 将 改 变 该 COleDateTimeSpan 对象的 值 。 它 不 改 变 这 个 COleDateTimeSpan 对 象 的 状 态 。
请 参 阅 COleDateTimeSpan::COleDateTimeSpan ,
COleDateTimeSpan::SetDateTimeSpan , COleDateTimeSpan::operator double
CO leDateTimeSpan::m_status
说 明
这 个 数 据 成 员 的 数 据 类 型 是 枚 举 类 型 DateTimeSpanStatus, 此 枚 举 类 型 是 在
ColeDateTim e- Span 类 中 定 义 的 。
enum DateTimeSpanStatus{ valid = 0,
invalid = 1,
null = 2,
};
有 关 这 些 状 态 值 的 简 短 描 述 , 参 见 下 面 的 列 表 :
-
COleDateTimeSpan::valid 表 示 这 个 COleDateTimeSpan 对 象 是 有 效
的 。
-
COleDateTimeSpan::invalid 表 示 这 个 COleDateTimeSpan 对 象 是 无
效 的 , 也 就 是 说 , 这 个 对 象 的 值 有 可 能 是 错 误 的 。
-
COleDateTimeSpan::null 表 示 这 个 COleDateTimeSpan 对 象 是 空 的
, 也 就是 说 , 没 有 值 被 提 供 给 这 个 对 象 。( 在 数 据 库 中“ null ” 意 味 着“没有值” , 这与 C++ 的 NULL 不 同 。 )
在 下 面 的 示 例 中 一 个 COleDateTimeSpan 对 象 的 状 态 是 无 效 的 :
-
该 对 象 在 一 次 算 术 赋 值 操 作 , 即 += 或 -= 中 , 产 生 了 上
溢 或 者 下 溢 。
-
一 个 无 效 的 值 被 赋 给 了 这 个 对 象 。
-
通 过 使 用 SetStatus 将 这 个 对 象 的 状 态 显 式 的 设 置 为 无
效 。
有 关 其 它 可 以 将 状 态 设 置 为 无 效 的 操 作 的 更 进 一 步 的 信 息 , 参 见
ColeDateTimeSp - an::operator+ , -和 COleDateTimeSpan::operator+= , -= 。
警 告 这 个 数 据 成 员 用 于 高 级 程 序 开 发 情 况 中 。 可 以 使 用 内 联 成 员 函 数GetStatus 和 SetStatus 。 参 见 SetStatus 可 以 获 得 有 关 如 何 设 置 这 个 数据 成 员 的 更 进 一 步 的 警 告 。
有 关 COleDateTimeSpan 值 的 界 限 问 题 的 更 多 信 息 , 参 见 “ Visual C++ 程 序 员指 南 ” 一 书 中 的 文 章 “ 日 期 与 时 间 : 自 动 化 支 持 ” 。
请 参 阅 COleDateTimeSpan ::GetStatu s, COleDateTimeSpan::SetStatus