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

HelloWorld级别的,但是在我电脑上出错
当前分钟和秒钟是对的,只有hour不对
我发帖时间是 18:11:40
但上面程序显示的是 10:11:40
public class ShowCurrentTime
{
public static void main(String[] args)
{
long milliSecondsEclapsed = System.currentTimeMillis();
long totalSeconds = milliSecondsEclapsed / 1000;
long currentSecond = totalSeconds % 60;
long totalMinutes = totalSeconds / 60;
long currentMinute = totalMinutes % 60;
long totalHours = totalMinutes / 60;
long currentHour = totalHours % 24;
System.out.println("current time is " + 
currentHour + ":" +
currentMinute + ":"+
currentSecond);
}
}
helloworld showCurrentTime java currentTimeMillis()

------解决方案--------------------
引用:
Quote: 引用:

这么做不行啊,难道你想在所有相关时间操作的地方,都这么写么?累不累哦?应该是设置虚拟机参数:-Duser.timezone=Asia/Shanghai


这个具体怎么操作?

有几种情况:
1. 在eclipse环境下,可以按照下面图识,设置默认的虚拟机参数

2. web工程,可以在服务器启动参数里面加上如上的虚拟机参数
3. linux环境下,配置过程如下:
LINUX下:jre是从/etc/sysconfig/clock这个文件中获取时区信息的,修改次文件即可,没有的话添加一个。 

附clock文件内容: 
ZONE="Asia/Shanghai" 
UTC=false 
ARC=false 

ZONE -- 时区 
UTC -- 表明时钟设置为UTC。 
ARC -- 仅用于alpha表明使用ARC。 
------解决方案--------------------
获取当前时间没有这么麻烦吧,有简单的方法为啥不用呢,看看下面的代码呢
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间