java存在问题_Java也存在2000年问题

Java也存在2000年问题

作者:未知    文章来源:www.jspcn.net

发布日期:2005年01月19日

河 南 洛 阳 041 信 箱 12 号 (471039) 李 真 文

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

我 是 一 名 Java 开 发 和 研 究 人 员, 最 近 发 现 Java 存 在 2000 年 时 间 问题, 下 面 我 给 出 我 的 发 现, 愿 与 同 行 商 榷。

1. 年 份 只 支 持 后 两 位 数 字

JDK(Java 开 发 工 具) 中, 有 java.util 包, 其 中 包 含 一 个 Data 类, 用 于 描述 有 关 年、 月、 日、 星 期、 时、 分、 秒 等 时 间 信 息。 其 中, 年 份 只 支 持 后 两 位 数字, 这 表 现 在 其 构 造 器 (constructor) 和 有 关 方 法 (method) 中。 下 面 给 出 程 序 示 例。

2. 程 序

我 采 用 的 计 算 机 是 AST/P75, 操 作 系 统 是 中 文 Windows 95, Java 开 发环 境 是 Symantec 公 司 的 Cafe 1.0。

2.1 HTML 脚 本 (YearProblem.html)

< applet code=YearProblem.class width=300 height=300> < /applet>

2.2 Java 源 代 码 (YearProblem.java)

import java.applet.Applet;

import java.util.Date;

import java.awt.Graphics;

public class YearProblem extends Applet{

Date today;

Date date;

public void init() {

today = new Date(); // 创 建 当 天 的 日 期 对 象。

date = new Date(96, 10, 26); // 创 建 一 个 96 年 10 月 26 日 日 期 对 象。

// 注 意 : 将 96 变 成 1996 将 导 致 运 行 错误。

}

public void paint(Graphics g) {

int thisYear = today.getYear(); // 获 取 today 的 年 份 信 息

int thatYear = date.getYear(); // 获 取 date 的 年 份 信 息

g.drawString(“This year is” +thisYear+“.”, 100, 100);

g.drawString(“That year is´+thatYear+” .“, 100, 120);

}

3. 运 行 结 果

如 果 把 系 统 时 间 设 置 成 2000 年 10 月 26 日, 那 么, 上 述 today 的 年 份应 该 是 2000 年, date 的 年 份 是 96。 但 today 运 行 结 果 不 是 这 样, today 的 年 份 变 成 了 100! 这 就 是 2000 年 时 间 问 题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值