21 Calendar local = Calendar.getInstance();
22 Calendar japanCal = new GregorianCalendar(TimeZone.getTimeZone("Japan"));
23 japanCal.setTimeInMillis(local.getTimeInMillis());
24 int jpHour = japanCal.get(Calendar.HOUR); // 3
25 int jpMinutes = japanCal.get(Calendar.MINUTE); // 0
26 int jpSeconds = japanCal.get(Calendar.SECOND); // 0
27 System.out.println("Japan's time is Hour = " + jpHour + "\tMinutes = "
28 + jpMinutes + "\tSeconds = " + jpSeconds);
29 int localHour = local.get(Calendar.HOUR); // 3
30 int localMinutes = local.get(Calendar.MINUTE); // 0
31 int localSeconds = local.get(Calendar.SECOND); // 0
32 System.out.println("Local's time is Hour = " + localHour + "\tMinutes = "
33 + localMinutes + "\tSeconds = " + localSeconds);
34 }
4. 日期格式:
1 //定义指定的日期格式化格式,再根据locale的不同,打印出不同的日期名称。
2 public static void main(String[] args) {
3 Locale locale = Locale.ENGLISH;
4 //SimpleDateFormat对象的构造函数中,如果没有显示的传入locale对象,
5 //该对象在解析和格式化的过程中将使用缺省的本地化对象。
6 DateFormat formatter = new SimpleDateFormat("E, dd MMM yyyy", locale);
7 DateFormat formatter2 = new SimpleDateFormat("HH:mm:ss zzzz", locale);
8 System.out.println("Result = " + formatter.format(new Date()));
9 System.out.println("Result2 = " + formatter2.format(new Date()));
10 //定义指定格式的日期格式化对象,在结合Locale对象去格式化当前时间。
11 Date date = new Date();
12 String s = DateFormat.getTimeInstance(DateFormat.SHORT, locale).format(date);
13 System.out.println(s);
14
15 //使用缺省的本地化locale格式化日期和数字,这里DateFormat和NumberFormat工厂方法
16 //将会根据不同的locale来实例化不同的DateFormat和NumberFormat的实现类,然而这些
18 DateFormat df = DateFormat.getInstance();
19 NumberFormat nf = NumberFormat.getInstance();
20 System.out.println(df.format(new Date()));
21 System.out.println(nf.format(123.4567));
22 }
23 //根据不同的时间Pattern、日期Pattern、日期时间Pattern,连同不同的Locale参数来
24 //构造出DateFormat的实现子类,在格式化指定的日期对象。
25 public class MyTest {
26 static public void displayDate(Locale currentLocale) {
27 DateFormat dateFormatter = DateFormat.getDateInstance(DateFormat.DEFAULT,
28 currentLocale);
29 Date today = new Date();
30 String dateOut = dateFormatter.format(today);
31 System.out.println(dateOut + " " + currentLocale.toString());
32 }
33
34 static public void showBothStyles(Locale currentLocale) {
35 int[] styles = { DateFormat.DEFAULT, DateFormat.SHORT,
36 DateFormat.MEDIUM, DateFormat.LONG, DateFormat.FULL };
37 System.out.println("Locale: " + currentLocale.toString());
38 Date today = new Date();
39 for (int k = 0; k < styles.length; k++) {
40 DateFormat formatter = DateFormat.getDateTimeInstance(styles[k], styles[k],
41 currentLocale);
42 String result = formatter.format(today);
43 System.out.println(result);
44 }
45 }
46
47 static public void showDateStyles(Locale currentLocale) {
4