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小时,为什么啊?? 我系统时区设置什么都是正确的阿!!! ?? 展开
Sat Oct 20 12:05:56 GMT 2007
而,我系统的时间 却是 :
2007年10月20日 20:05
相差了8小时,为什么啊?? 我系统时区设置什么都是正确的阿!!! ?? 展开
7个回答
展开全部
new java.util.Date()得到的是格林威治时间,我们的北京时间比它晚8个小时,因为北京在东八区
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new Date()的到的是JVM的时间,一般来说应该是系统时间.如果有错误,则是JVM的BUG(这个是存在的情况).
所以你可以用Locale.SIMPLIFIED_CHINESE来指定你当前的时区(这里的是中国时区).
用new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE)来设置你显示的效果和时区最好.
所以你可以用Locale.SIMPLIFIED_CHINESE来指定你当前的时区(这里的是中国时区).
用new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE)来设置你显示的效果和时区最好.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的这个问题系 系统 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());
*/
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());
*/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询