日期:2014-05-20  浏览次数:20692 次

一个关于系统时间显示的问题,希望大虾们不吝赐教!
代码如下:

import   java.io.*;
import   java.util.Calendar;

public   class   time
{
public   static   void   main(String   args[])
{
ShowTime   t=new   ShowTime();
System.out.println( "当前日期: "+t.getDate());
System.out.println( "当前时间: "+t.getTime());
}
}
  class   ShowTime
{


ShowTime()
{
t=Calendar.getInstance();
y=t.get(t.YEAR);
m=t.get(t.MONTH)+1;
d=t.get(t.DATE);

hh=t.get(t.HOUR);
mm=t.get(t.MINUTE);
ss=t.get(t.SECOND);

}

public   String   getDate()
{
return   y+ "年 "+m+ "月 "+d+ "日 ";
}

public   String   getTime()
{
return   hh+ "小时 "+mm+ "分 "+ss+ "秒 ";
}

private   Calendar   t;
private   int   y,m,d,hh,mm,ss;

}


问题:为什么显示的时间和我的电脑时间不一样啊?谢谢大家,小弟是菜鸟,见笑了!

------解决方案--------------------
t=Calendar.getInstance();
显示的是执行这句代码的时间,不是你调用你的对象方法的时间,碰到过这个问题,是会不一致,你先getInstance,然后sleep几秒钟再打印时间就会发现这个问题了
------解决方案--------------------
小时设置的不对,应该是:
hh=t.get(Calendar.HOUR_OF_DAY);

Calendar.HOUR 指分上午下午的12小时制
Calendar.HOUR_OF_DAY 指24小时制

看你的时间,你应该是晚上测试,上午试的话会是一样的。

多看看JAVA API吧。