static void getTime(){ TimeZone tz = TimeZone.getDefault(); Calendar cal = Calendar.getInstance(tz,Locale.CHINA); int year = cal.get(Calendar.YEAR); int month = cal.get(Calendar.MONTH); int date = cal.get(Calendar.DAY_OF_MONTH); int week = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH); int weekday = cal.get(Calendar.DAY_OF_WEEK); int hour = cal.get(Calendar.HOUR_OF_DAY); int minute = cal.get(Calendar.MINUTE); int second = cal.get(Calendar.SECOND); String nowTime = year+"年"+(month+1)+"月"+(date)+"日"+"第"+week+"个星期"+"周"+(weekday-1)+" 时间:"+hour+"-"+minute+"-"+second; System.out.println(nowTime); } 楼主试验下?
不用default的解决 中国北京的GMT应该是 TimeZone tz = TimeZone.getTimeZone("GMT+8"); Calendar cal = Calendar.getInstance(tz,Locale.CHINA);
TimeZone china = TimeZone.getTimeZone("GMT+08:00");
Calendar cal = Calendar.getInstance(china);
System.out.println("北京时间 " + cal.get(Calendar.YEAR) + "-"
+ (cal.get(Calendar.MONTH) + 1) + "-"
+ cal.get(Calendar.DAY_OF_MONTH) + " " + Calendar.HOUR_OF_DAY
+ ":" + Calendar.MINUTE + ":" + cal.get(Calendar.SECOND));
为什么不用date,用区偏移量来算时间?
String NowYear = Integer.toString(calendar.get(Calendar.YEAR));
String NowMonth = Integer.toString( (calendar.get(Calendar.MONTH) + 1));
String NowDay = Integer.toString(calendar.get(Calendar.DAY_OF_MONTH));
String NowHour = Integer.toString(calendar.get(Calendar.HOUR_OF_DAY));
String NowMinute = Integer.toString(calendar.get(Calendar.MINUTE));
String NowDate = NowYear + "-" +
(NowMonth.length() == 1 ? "0" + NowMonth : NowMonth) + "-" +
(NowDay.length() == 1 ? "0" + NowDay : NowDay) + " " +
(NowHour.length() == 1 ? "0" + NowHour : NowHour) + ":" +
(NowMinute.length() == 1 ? "0" + NowMinute : NowMinute);
return NowDate;
1. 将调整TimeZone的代码直接加到这边
2. 你说的早8个小时是什么意思,是不是要改成GMT/GMT-8等?试试看?
Windows 2008 需要 1.5.0_19 及以后版本
Windows Vista 需要 1.5.0_14 及以后版本JDK 1.6 系统支持最小的版本号Windows 7 需要 1.6.0_14 及以后版本
Windows Server 2008 R2 需要 1.6.0_16 及以后版本你检查一下 JDK 的版本,JDK 5 的输出结果必须是大于等于 1.5.0_21 的。如果不是的话,重新安装最新版本的 JDK
xxx 是SB+当前时间(正常情况是xxx +时间)
+聊天内容当时纯属恶搞后来把那个该了就好了lz试一试把
TimeZone tz = TimeZone.getDefault();
Calendar cal = Calendar.getInstance(tz,Locale.CHINA);
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH);
int date = cal.get(Calendar.DAY_OF_MONTH);
int week = cal.get(Calendar.DAY_OF_WEEK_IN_MONTH);
int weekday = cal.get(Calendar.DAY_OF_WEEK);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
String nowTime = year+"年"+(month+1)+"月"+(date)+"日"+"第"+week+"个星期"+"周"+(weekday-1)+" 时间:"+hour+"-"+minute+"-"+second;
System.out.println(nowTime);
}
楼主试验下?
中国北京的GMT应该是
TimeZone tz = TimeZone.getTimeZone("GMT+8");
Calendar cal = Calendar.getInstance(tz,Locale.CHINA);