Java如何获得一个日本的Calendar对象?
TimeZonetz=TimeZone.getTimeZone("Japan");Calendarjpcalendar=Calendar.getInstance(tz);...
TimeZone tz = TimeZone.getTimeZone("Japan");
Calendar jpcalendar = Calendar.getInstance(tz);
System.out.println(jpcalendar.getTime());
我觉得这样应该可以获得,但为什么时间输出还是Sat Jul 27 21:23:22 CST 2013中国这边的? 展开
Calendar jpcalendar = Calendar.getInstance(tz);
System.out.println(jpcalendar.getTime());
我觉得这样应该可以获得,但为什么时间输出还是Sat Jul 27 21:23:22 CST 2013中国这边的? 展开
4个回答
展开全部
System.out.println(jpcalendar.getTime()); 该方法以当前系统的时区输出,不管jpcalendar是日本时区还是其他时区。
要取得日本历,例子如下(jdk1.6):
import java.util.Calendar;
import java.util.Locale;
import java.util.TimeZone;
public class Test {
public static void main(String[] args) {
Calendar cCalendar = Calendar.getInstance();
System.out.println(cCalendar.getTime());
System.out.println(cCalendar.getDisplayName(Calendar.ERA, Calendar.LONG, Locale.getDefault()) + ": " + cCalendar.get(Calendar.YEAR));
Locale jLocale = new Locale("ja", "jp", "JP");
Calendar jCalendar = Calendar.getInstance(TimeZone.getTimeZone("JST"), jLocale);
System.out.println(jCalendar.getTime());
System.out.println(jCalendar.getDisplayName(Calendar.ERA, Calendar.LONG, jLocale) + ": " + jCalendar.get(Calendar.YEAR));
}
}
输出结果:
Sat Jul 27 22:31:59 CST 2013
公元: 2013
Sat Jul 27 22:31:59 CST 2013
平成: 25
展开全部
Date的默认toString使用的是美国的,CST不是中国的
追问
那要怎么样获得日本时区的Calendar对象?
追答
使用 SimpleDateFormat格式化,而不是使用toString输出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JST +09:00 日本标准时间,(俄罗斯时区 8)
追问
这个我知道,那要怎么样获得日本时区的Calendar对象?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JST +09:00 日本标准时间,(俄罗斯时区 8) 把 jst放在
TimeZone tz = TimeZone.getTimeZone("JST");
Calendar jpcalendar = Calendar.getInstance(tz);
System.out.println(jpcalendar.getTime());
TimeZone tz = TimeZone.getTimeZone("JST");
Calendar jpcalendar = Calendar.getInstance(tz);
System.out.println(jpcalendar.getTime());
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询