在eclipse/MyEclipse中,如果你的注釋或是運行System.out.print(new java.util.Date());的時候,發現時間和系統的時間差8個小時。
那麼就可以說明,你的時區和當前時區不對應。我們中國用的時區是Asia/Shanghai,你的差8小時應該是東八區的。關於這一點
你不懂可以看看初中地理:D。
解決辦法有2種:
1、在你的eclipse/MyEclipse的JVM的jre運行參數中設定時區。在Default VM Arguments中設定:-Duser.timezone=Asia/Shanghai
步驟:在Window->Preferences->Java->Installed JERs然後看到右邊有jre的安裝列表,選擇一個,點擊edit,
然後在Default VM Arguments中設定:-Duser.timezone=Asia/Shanghai
點擊完成,重啟eclipse、MyEclipse即可;
2、出現這種時區差別的原因就是系統的軟體註冊表的時區設定被損壞,重新註冊下即可
Javaeye上也有人提供註冊表下載:Time_Zones_XP.rar
解壓後運行註冊表應該就可以了
在eclipse/MyEclipse中,如果發現你的注釋是英文格式的(Mon Mar 21 10:57:13 CST 2011),而不是中文格式的或是你自己想要的格式,可以有如下辦法解決。
1、在eclipse.ini、myeclipse.in的設定檔中加入-Duser.language=zh-cn或是將-Duser.language=en 改為-Duser.language=zh-cn即可;
2、修改eclipse、MyEclipse的外掛程式的jar資訊。
如格式是:Mar 21, 2011;想要改成:2011-3-21
那麼修改eclipse/plugins中的org.eclipse.text_3.3.0.v20070606-0010.jar這個jar包(org.eclipse.text_XXXX.jar包),有的版本是v後面的日期不同。
關於這個jar包的源碼可以在此地方下載:http://wiki.eclipse.org/index.php/CVS_Howto下載eclipse的源碼,主要下載org.eclipse.text包下的類。
然後修改org.eclipse.jface.text.templates.GlobalTemplateVariables這個類,找到代碼:
代碼public static class Date extends SimpleTemplateVariableResolver {/** * Creates a new date variable */public Date() {super("date", TextTemplateMessages.getString("GlobalVariables.variable.description.date")); //$NON-NLS-1$ //$NON-NLS-2$}protected String resolve(TemplateContext context) {return DateFormat.getDateInstance().format(new java.util.Date());}}改成
代碼public static class Date extends SimpleTemplateVariableResolver {/** * Creates a new date variable */public Date() {super("date", TextTemplateMessages.getString("GlobalVariables.variable.description.date")); //$NON-NLS-1$ //$NON-NLS-2$}protected String resolve(TemplateContext context) {//return DateFormat.getDateInstance().format(new java.util.Date()); final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); //你的格式return df.format(new java.util.Date()); }}
改完後,然後重新打包成jar,覆蓋掉原來的那個eclipse/plugins中jar檔案即可。關於這個檔案,網上也有提供下載的:org.eclipse.text_3.3.0.v20070606-0010.zip (230.1 KB)