SCJP考试试题解析四

我的QQ号:2535279 
我的QQ群:58591592

www.javaedu.com.cn






12 Date date = new Date();

13 df.setLocal(Local.Ialy);

14 String s = df.Format(date);

The varialbe df is an object of type DateFormat that has been initialized in line 11.what is the result if this codeis run 

on December 14,2000?

A. The value of S is 14-dic-2004

B. The value of S is Dec 14,2000

C. An exception is thrown at runtime

D. Compilation fails because of an error in line 13.

知道答案是什么吗?D

因为DateFormat这个类根本就没有提供setLocal()方法.

如果,我们想要按照各个国家的习惯来展示时间该怎么办呢,下面这个例子可能会对你有一些启发

import java.util.Locale; 

import java.text.DateFormat; 

import java.util.Date; 

public class LocaleTest ...{ 

 public LocaleTest() ...{ 

  } 

 public static void main(String[] args) ...{ 

   Date dt=new Date(); 

   DateFormat dfCN=DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINA); 

   DateFormat dfIT=DateFormat.getDateInstance(DateFormat.FULL,Locale.ITALY); 

   System.out.println(dfCN.format(dt)); 

   System.out.println(dfIT.format(dt)); 

  } 


 
输出结果为:

2008年5月28日 星期三

mercoledì 28 maggio 2008


Locale类的一个实例通常包含了一个国家的语言信息和国家代码,语言代码和国家代码的详情请查询下列网址,这里就不再对Local类展开详述

了,

Language Code:http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt

Country Code:http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.ht