new java.util.Date() 得到的时间与系统时间不一样,为什么?

我用这个函数得到的时间是:SatOct2012:05:56GMT2007而,我系统的时间却是:2007年10月20日20:05相差了8小时,为什么啊??我系统时区设置什么... 我用 这个 函数得到的时间是:
Sat Oct 20 12:05:56 GMT 2007

而,我系统的时间 却是 :

2007年10月20日 20:05

相差了8小时,为什么啊?? 我系统时区设置什么都是正确的阿!!! ??
展开
 我来答
dujolon
2007-10-20 · TA获得超过1510个赞
知道答主
回答量:246
采纳率:0%
帮助的人:112万
展开全部
GMT就是格林威治时间的意思,你用的是Date类的默认构造方法,没有加参数,默认的构造方法就是构造一个GMT时区的时间。
wlklong
2007-10-20 · 超过11用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:39万
展开全部
new java.util.Date()得到的是格林威治时间,我们的北京时间比它晚8个小时,因为北京在东八区
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hilyfe
2007-10-20 · 超过69用户采纳过TA的回答
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:217万
展开全部
new Date()的到的是JVM的时间,一般来说应该是系统时间.如果有错误,则是JVM的BUG(这个是存在的情况).
所以你可以用Locale.SIMPLIFIED_CHINESE来指定你当前的时区(这里的是中国时区).
用new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE)来设置你显示的效果和时区最好.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhousir2008
2007-10-20 · 超过17用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:61.1万
展开全部
同意楼上的,
并修正一下是
GMT 格林尼治标准时间
另外,一看这你就明白了
http://then9.com/java/then9000059.htm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cncq_qdl1986
推荐于2016-10-09
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
你的这个问题系 系统 JVM的事,可以设置下时区,通过以下的语句:

import java.util.*;

TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);

//显示Java能识别的系统中所有正确的时区
/**
String[] ids = TimeZone.getAvailableIDs();
for(int i = 0; i < ids.length; i++)
System.out.println(ids[i].toString());
*/
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式