⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lc_bcb_18.txt

📁 c++ builder 的一些txt文档
💻 TXT
字号:

如何避免2000年问题 
如何避免2000年问题 
智 慧 软 件 工 作 室--谢 振 斌 
----我 们 知 道, 两 位 数 的 年 份(00 -99), 
只 能 表 示100 年 的 日 期, 超 过 范 围 则 必 定 引 起 二 义 性。 
通 常 系 统 将 它 约 定 为1900 -1999 年, 这 样 自 然 就 无 法 表 示2000 
年 了。 如 果 我 们 将 00 -99 约 定 为1930 -2029 年, 也 就 是 对 映 
射 的 时 间 窗 作 一 定 的 移 动, 那 么 对 于 多 数 应 用 都 能 完 
全 满 足 纪 年 的 需 要, 而 且 不 需 要 改 动 数 据 储 存 和 输 入 
输 出 的 格 式。 
----为 了 实 现 这 一 时 间 窗 的 移 动, 多 
数 系 统 必 须 人 工 干 预, 也 就 是 必 须 在 输 入 或 转 换2 位 
数 年 份 时 强 制 映 射 到 约 定 的 时 间 窗 中。 
----那 么, 有 没 有 更 为 简 捷 的 解 决 办 
法 呢 ? 
----打 开Windows 98 的 控 制 面 板 中 区 域 设 
置, 在 日 期 选 项 卡 中 有 几 个 参 数 和2000 年 跨 越 有 密 切 相 
关, 一 是 短 日 期 格 式, 可 以 是yy -M -d 或yyyy -MM -dd 等, 
它 决 定 系 统 日 期 的 显 示 格 式。 一 是 两 位 数 年 份 的 变 换 
时 间 窗, 我 们 可 以 设 为1930 - 2029 年。 
----经 过 这 样 设 定 后 回 到Delphi 中 观 
察, 我 们 发 现 日 期 显 示 是 变 为4 位 年 份 格 式。 但 是 当 您 
试 着 在 日 期 栏 中 输 入‘00 -1 -1’ 会 发 现, 系 统 依 然 变 
换 为1900 年1 月1 日, 问 题 仍 未 解 决。 
----经 过 不 断 研 究, 我 们 找 到 了 答 
案。 原 来 在 Delphi 中 同 样 有 个 时 间 窗 定 义 变 量TwoDigitYearCenturyWindow。 
将 它 设 为60, 它 的 含 义 就 是 将 今 年 的 年 份 前 溯60 年 作 为 
时 间 窗 起 点, 也 就 是 变 换 时 间 窗 为1939 -2038 年, 这 样 一 
来 问 题 就 彻 底 解 决 了。 
----值 得 一 提 的 还 有 另 外 一 个 变 量 
ShortDateFormat, 作 为 新 开 发 的 系 统, 最 好 设 为‘yyyy -MM -dd’, 
这 样 系 统 就 不 依 赖 于Windows 系 统 设 置 的 格 式, 而 且 统 一 
为 整 齐 的10 位 宽 度, 这 时 既 可 输 入4 位 数 年 份 又 可 方 便 
输 入 两 位 数 年 份, 让 系 统 根 据 时 间 窗 来 自 动 转 换。 
----当 然 对 于 某 些 特 殊 应 用 中 年 份 
可 能 出 现 超 出 时 间 窗 范 围 的 日 期, 那 就 一 定 得 完 整 输 
入 了, 就 算 不 小 心 输 成2 位 数 形 式, 也 能 立 即 从 系 统 转 
换 出 来 的4 位 年 份 中 看 出 错 误, 得 到 及 时 纠 正 ! 
----综 上 所 述, 在 已 开 发 的 老 系 统 中, 
可 在 程 序 开 始 处 加 入 以 下 几 行, 再 用Delphi4.0 重 新 编 译, 
即 可 消 除 通 常 的 2000 年 问 题 ! 
      DateSeparator := ‘ -’;
      ShortDateFormat:=‘yy -mm -dd’;
      TwoDigitYearCenturyWindow:=80;
----对 于 新 开 发 的 系 统, 最 好 在 程 序 
开 始 处 加 入: 
      DateSeparator := ‘ -’;
      ShortDateFormat:=‘yyyy -mm -dd’;
      TwoDigitYearCenturyWindow:=70;
----如 此 简 单 的 几 句, 一 定 会 为 您 换 
来 无 穷 的 效 益 !  
返回

⌨️ 快捷键说明

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